Friday, 4 August 2017

Opzioni Javascript Read As Binary -


readAsBinaryString dice che i dati devono essere rappresentati come una stringa binaria. dove: ogni byte è rappresentato da un numero intero nell'intervallo 0..255. JavaScript originariamente non ha ancora hanno un tipo binario (fino al supporto ECMAScript 5s WebGL di Typed Array (dettagli sotto) - è stato sostituito da ECMAScript 2015S ArrayBuffer) e così sono andati con una stringa con la garanzia che nessun carattere memorizzato nella stringa sarebbe al di fuori della gamma 0..255. (Avrebbero potuto andare con una serie di numeri al posto, ma che non ha ancora forse stringhe di grandi dimensioni sono più memoria-efficiente di grandi array di numeri, in virgola mobile da numeri sono). Se sei la lettura di un file di questo è in gran parte di testo in uno script occidentale ( soprattutto inglese, per esempio), allora la stringa è andare a guardare un po 'come testo. Se andate a leggere un file con caratteri Unicode in esso, si dovrebbe notare una differenza, dal momento che le stringhe JavaScript sono UTF-16 (dettagli sotto) e così alcuni personaggi avranno valori sopra 255, mentre una stringa binaria in base alle specifiche API File andrei hanno tutti i valori di cui sopra 255 (youd hanno due caratteri individuali per i due byte del punto di codice Unicode). Se siete lettura di un file di testo non thats affatto (un'immagine, forse), youll probabilmente ancora ottenere un risultato molto simile tra readAsText e readAsBinaryString. ma con readAsBinaryString si sa che ci non sarà alcun tentativo di interpretare sequenze multi-byte come caratteri. Non si sa che se si utilizza readAsText. perché readAsText utilizzerà una determinazione codifica per cercare di capire che cosa la codifica dei file è e poi mappare a JavaScript UTF-16 stringhe. È possibile vedere l'effetto se si crea un file e memorizzarli in qualcosa di diverso da ASCII o UTF-8. (In Windows è possibile farlo tramite il Blocco note Salva con nome come una codifica a discesa con Unicode su di esso, per cui guardando i dati sembrano indicare UTF-16 Im sicuro redattori Mac OS e nix hanno una funzione simile.) Heres una pagina che scarica il risultato di lettura di un file in entrambe le direzioni: Se io uso che con un test 1 2 3 file memorizzato in UTF-16, ecco i risultati che ottengo: Come si può vedere, readAsText interpretato i personaggi e così ho preso 13 (la lunghezza del test 1 2 3), e non ha ancora readAsBinaryString, e così ho preso 28 (BOM due byte più due byte per ogni carattere). XMLHttpRequest. response con responseType ArrayBuffer è supportato in HTML 5. stringhe JavaScript sono UTF-16 può sembrare un'affermazione strana arent hanno solo Unicode No, una stringa JavaScript è una serie di UTF-16 unità di codice che vedi coppie di surrogati come due singoli JavaScript caratteri anche se, in effetti, la coppia di surrogati nel suo complesso è solo carattere. Vedi il link per i dettagli. digitalFresh: La stringa è i dati binari. Mentre si stava commentando, ho postato un esempio che può aiutare. doesn39t JavaScript ha un tipo quotbinaryquot e così sono andati con una stringa con la garanzia che nessun carattere memorizzato nella stringa sarebbe fuori della gamma 0..255. (Avrebbero potuto andare con una serie di numeri, invece, ma didn39t.) L'esempio mostra come ottenere il valore grezzo di un quotcharacterquot dalla stringa. ndash T. J. Crowder 30 giugno 10 a 5:09 Morpheus: Perché questa roba è asincrona, è can39t gettare eccezioni è necessario guardare a livello di interfaccia per vedere se there39s qualche modo asincrono esso segnala errori. E in effetti, FileReader ha onerror per questo. Quando si utilizza un file: 4747 URL, il dominio del documento è nullo, che tende a chiudere voi fuori da un sacco di cose (I don39t conosco i dettagli, non lo faccio mai), esp. quando la SOP ottiene in esso. I39m abbastanza sicuro it39s fino al browser, almeno per ora, come la parte di sicurezza della specifica è ancora provvisorio: w3.orgTRFileAPIsecurity-discussione Ma mi aspetto che wouldn39t farlo funzionare. ndash T. J. Crowder 5 novembre 10 a 18:12 Molte grazie TJCrowder - ho cancellato il mio commento per impedire ad altri di farsi ingannare dalla mia semplificazione eccessiva, e grazie per la pubblicazione dei dettagli - Sono sicuro altri troveranno i tuoi commenti molto più utile (e la lettura del articolo è davvero una buona idea, come dici tu, se uno è gingillarsi in questa zona). ndash Brian M. Hunt 30 dicembre 14 a 14: 16PER QUEL parte di una serie di articoli sto discutendo alcune delle sfide che ho affrontato quando si cerca di costruire un libero editor di icone online HTML5 e JavaScript. Volevo che gli utenti siano in grado di aprire e modificare i file di icone esistenti nel mio editor di icone. Come file di icone possono contenere più fotogrammi, avevo bisogno di accedere a questi singoli fotogrammi in modo che possano essere visualizzati ed essere disponibili per la modifica per l'utente. Il numero, la dimensione e la posizione dei frame contenuti in un'icona tutti memorizzati nell'intestazione dell'icona. L'intestazione icona è un byte di raccolta situati all'inizio di un file di icona quindi avevo bisogno di leggere i dati binari contenuti nel file. Ora possiamo leggere i file facilmente nel browser, senza dover inviare i dati a un server. In questa puntata mostro come si possono leggere i dati binari di un file locale nel browser utilizzando l'HTML5 API File. Per cominciare sono state andando ad aggiungere un elemento di input e impostare l'attributo tipo di file, poi in un blocco di script che stiamo per gestire gli ingressi di file OnChange evento. lt corpo gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 tipo di ingresso id quotbrowseOpenquot quotfilequot gt 160.160.160.160 lt script type quottextjavascriptquot gt 160160160160160160160160 var FileInput document. getElementById (quotbrowseOpenquot) 160160160160160160160160 funzione fileInput. onchange 160.160.160.160 lt () 160160160160160160160160160160160160 codice per gestire onchange evento va qui 160.160.160.160 160.160.160.160 160.160.160.160 lt copione gt corpo lt gt Ora abbiamo bisogno di aggiungere il codice per gestire l'evento onchange. Qui stiamo andando a creare un oggetto FileReader. Useremo il metodo readAsBinaryString dell'oggetto FileReader che ci darà i dati binari grezzi. Siamo in grado di passare un oggetto File per la readAsBinaryString se vogliamo leggere l'intero file o possiamo passare un oggetto Blob se vogliamo solo leggere una determinata sezione di un file. In questo esempio abbiamo intenzione di passare un oggetto File per leggere l'intero file. Abbiamo anche bisogno di gestire l'evento onloadend del FileReader come i dati si legge con readAsBinaryString è disponibile solo per usare una volta l'intero file o blob è stato letto dal FileReader. Il nostro codice nel gestore di eventi onchange ora assomiglia a questo. 160160160160160160160160 var fr nuova FileReader () 160160160160160160160160 funzione fr. onloadend () 160160160160160160160160160160160160 codice per gestire onloadend evento 160.160.160.160 160.160.160.160 160160160160160160160160 fr. readAsBinaryString (questo. files 0) Nel gestore di eventi onloadend possiamo accedere ai dati che sono stati appena letto attraverso le FileReaders attributo risultato. Possiamo quindi scorrere l'attributo di risultato e chiamare il metodo charCodeAt per restituire un valore intero di ogni byte. In questo esempio ho intenzione di convertire il byte di una rappresentazione stringa esadecimale usando toString (16), costruire una lunga serie e quindi visualizzare la stringa per l'utente. Ecco l'esempio di lavoro completo. lt DOCTYPE HTML gt lt html gt lt testa gt titolo 160160160160 lt gtReading dati binari con l'API File e JavaScriptlt titolo gt testa lt gt lt corpo gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160160160160 lt tipo di ingresso id quotbrowseOpenquot quotfilequot gt 160160160160 lt script type quottextjavascriptquot gt 160160160160160160160160 var FileInput document. getElementById (quotbrowseOpenquot) 160160160160160160160160 funzione fileInput. onchange () 160160160160160160160160160160160160 var fr nuova FileReader () 160160160160160160160160160160160160 funzione fr. onloadend () 160160160160160160160160160160160160160160160160 risultato var questo. result 160160160160160160160160160160160160160160160160 var esadecimale quotquot 160160160160160160160160160160160160160160160160 for (var i 0 i lt questo. result. length i) 160160160160160160160160160160160160160160160160160160160160 var byteStr result. charCodeAt (i).toString (16) 160160160160160160160160160160160160160160160160160160160160 se (byteStr. length lt 2) 160160160160160160160160160160160160160160160160160160160160160160160160 byteStr quot0quot byteStr 160160160160160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160160160160160 esagonale quot quot byteStr 160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160 alert (hex) 160160160160160160160160160160160160 160160160160160160160160160160160160 fr. readAsBinaryString (questo. files 0) 160160160160160160160160 160160160160 lt sceneggiatura gt lt corpo gt lt html gtjDataView fornisce un metodo standard per leggere i file binari in tutti i browser. Segue la specifica DataView e addirittura si estende per un uso più pratico. Spiegazione Ci sono tre modi per leggere un file binario dal browser. Il primo è quello di scaricare il file attraverso XHR con charsetx-definita dall'utente. È possibile ottenere il file come una stringa. e si deve riscrivere tutte le funzioni di decodifica (getUint16, getFloat32.). Tutti i browser supportano questo. Poi i browser che hanno implementato WebGL anche aggiunto ArrayBuffers. Si tratta di un buffer di pianura che può essere letto con vista chiamati TypedArrays (Int32Array, Float64Array.). Si possono utilizzare per decodificare il file, ma questo non è molto utile. Ha grande svantaggio, cant leggere i dati non allineati. E 'supportato da Firefox 4 e Chrome 7. Una nuova revisione della specifica aggiunto DataViews. Si tratta di una vista intorno al tampone in grado di leggere i tipi di dati arbitrari direttamente tramite funzioni: getUint32, getFloat64. Solo Chrome 9 supporta. jDataView fornisce le API DataView per tutti i browser che utilizzano la migliore opzione disponibile tra le stringhe, TypedArrays e DataViews. Vedere le specifiche per un API dettagliata. khronos. orgregistrywebgldocspecTypedArray-spec. html6. Qualsiasi codice scritto per DataView lavorerà con jDataView (a meno che non scrive qualcosa). Costruttore nuova jDataView (buffer, offset, di lunghezza). buffer può essere una stringa o un API Specification ArrayBuffer Le soddisfa involucro tutti i getter specifica. getInt8 (byteOffset) getUint8 (byteOffset) getInt16 (byteOffset, littleEndian) getUint16 (byteOffset, littleEndian) GetInt32 (byteOffset, littleEndian) getUint32 (byteOffset, littleEndian) getFloat32 (byteOffset, littleEndian) getFloat64 (byteOffset, littleEndian) Parametro di specifica La byteOffset esteso è ora opzionale. Se si omette, esso leggerà subito dopo compensato l'ultima lettura. È possibile interagire con il puntatore interno con queste due funzioni. seek (byteOffset): Sposta il puntatore interno alla posizione tell (): restituisce l'aggiunta posizione attuale del getchar e GetString utilità. L'aggiunta di createBuffer, un programma di utilità per creare facilmente i buffer con l'ultimo tipo di archiviazione disponibile (String o ArrayBuffer). Carenze viene avvolto solo la lettura API, jDataView non fornisce alcun metodo set. L'implementazione float64 sulle stringhe non ha piena precisione. In primo luogo abbiamo bisogno di un file. In entrambi i casi si ottiene attraverso XHR o utilizzare le utility. Bits createBuffer, Byte, e Basi: scrivere un tutorial rapido JavaScript BinaryDecimalHexadecimal Converter sulla notazione esponenziale (si può saltare questo se si sa già). notazione esponenziale è un modo compatto di esprimere multipli di un numero. Per esempio, come si è visto nella tabella: 10 3 10times10times10 1000 una dicitura equivalente in parole è: Dieci alla terza potenza è pari a dieci volte dieci volte dieci, che è anche uguale a mille. L'esponente (3, in questo caso), indica quante volte per moltiplicare la base (10, in questo caso). Qualsiasi numero elevato alla 0 esima potenza è pari a 1. Questo è tutto per i numeri binario (base 2) è simile, ma ora ci sono solo due cifre disponibili (0 e 1), ed i valori sono in aumento luogo potenze di due. La tabella seguente mostra lo stesso numero (3.897) in rappresentazione binaria. Ovviamente, ci vuole molto più cifre che in base dieci rappresentazione binaria di 3.897 è il seguente: 1111 0011 1001 Check it out per te stesso e assicurarsi che si aggiunge a tutte bit e byte Ogni cifra binaria è chiamata un po '. Utilizzare la tabella qui sopra per vedere il numero di bit che serve a rappresentare 3.897. Vai avanti, bene aspettare. Quello a destra, dodici bit. Il bit più a destra (quella bit) è il bit meno significativo e il più a sinistra bit (due-mila quarantotto bit) è il bit più significativo. Dal momento che è facile perdere il vostro posto quando la lettura di una lunga serie di 0 e 1, i numeri binari sono spesso mostrati in gruppi di 4 bit, in questo modo: 1111 0011 1001. Due di questi gruppi di 4 bit (otto bit del tutto) fare un byte. che è l'unità di base per misurare le dimensioni di un dispositivo di memoria o memorizzazione digitale. Che cosa si può conservare in un byte Pensate a quanti numeri diversi possono essere codificati con un byte. (Può essere utile per fare un'analogia con i numeri decimali prima: quanti numeri diversi è possibile codificare con 2 cifre quanti con 3 cifre) Un kilobyte (abbreviato kB) non è 1000 byte, come si potrebbe pensare, se si conoscono i prefissi metrici . Dal momento che questo è il mondo digitale, tutto è in potenze di 2, quindi un kilobyte è di 1024 byte (2 10 byte). Allo stesso modo, un megabyte (MB) è 1024times1024 byte (1.048.576 byte 2 20 byte). Esadecimali: Base 16 numeri binari vanno bene per i computer, ma non sono particolarmente utile per le persone da utilizzare. Tuttavia, quando si sta programmando una macchina che funziona con i numeri binari, a volte è utile per lavorare con i numeri rappresentati come potenze di 2, invece di potenze di 10. notazione esadecimale (base 16) è spesso usato per questo motivo. Come ci si aspetterebbe, in esadecimale ci sono 16 cifre, e ogni cifra rappresenta una potenza di 16. Usiamo cifre decimali per 0ndash9, e le prime sei lettere dell'alfabeto, AndashF, per le cifre esadecimali corrispondenti ai numeri decimali 10ndash15. La tabella seguente mostra i primi 16 numeri (partendo da zero) in binario, esadecimale e notazione decimale. Binario, numeri esadecimali e decimali Dal 16 2 4. Non è sorprendente vedere che una cifra esadecimale corrisponde a 4 bit. Si può vedere ciò che la rappresentazione esadecimale per 3.897 sarebbe un altro fatto interessante che avrete notato è che il bit meno significativo della rappresentazione binaria indica se il numero è pari o dispari. Error Correction Code algoritmi per la trasmissione e la ricezione dei dati (utilizzati in tutto, dalle trasmissioni via satellite della NASA per telefoni cellulari a lettori CD) spesso fanno uso di questa proprietà. Un modo semplice per avere i vostri elementi di input allineati ordinatamente è quello di utilizzare un elemento HTML ltTABLEgt (un esempio è mostrato sotto). La tabella ha due colonne. Ogni ingresso è una riga separata nella tabella. Le etichette sono nella prima colonna, ed i campi di input sono nella seconda colonna. Le etichette sono allineati al bordo destro della colonna e campi di introduzione sono allineati al bordo sinistro della colonna. Il codice HTML per questa tabella di esempio è anche mostrato (sotto il tavolo stesso). ltFORM METHODpostgt ltTABLE BORDER1 aligncenter CELLPADDING10gt ltTRgt ltTH COLSPAN2gtBinaryDecimalHexadecimal convertitore d'interfaccia ExampleltTHgt ltTRgt ltTRgt ltTD ALIGNRIGHTgtltBgtBinary: ltBgtltTDgt ltTD ALIGNLEFTgtltINPUT NAMEbin value0 sola lettura onChangeConvertBin (modulo) SIZE10gtltINPUTgtltTDgt ltTRgt ltTRgt ltTD ALIGNRIGHTgtltBgtDecimal: ltBgtltTDgt ltTD ALIGHLEFTgtltINPUT NAMEdec value0 sola lettura onChangeConvertDec (modulo) SIZE10gtltINPUTgtltTDgt ltTRgt ltTRgt ltTD ALIGNRIGHTgtltBgtHexadecimal: ltBgtltTDgt ltTD ALIGNLEFTgtltINPUT NAMEhex value0 sola lettura onChangeConvertHex (modulo) SIZE10gtltINPUTgtltTDgt ltTRgt ltTABLEgt ltFORMgt Note sul codice tabella HTML. Si noti che la dimensione di ciascun elemento di input nella tabella è la stessa. Si dovrà capire dimensioni adatte ai propri elementi di input in modo che ospitano lo stesso intervallo di valori (ricordate che i numeri binari richiedono generalmente più cifre). Si noti che la ciascuno degli elementi di input viene utilizzato l'evento onChange per chiamare una funzione JavaScript. Così, quando l'utente modifica un valore, questa funzione viene richiamata per aggiornare i valori per le altre due rappresentazioni. Weve tentato solo per coprire alcuni punti chiave per iniziare, non tutti i dettagli su come il tavolo è messo insieme. Vi è un punto di riferimento nella bibliografia con informazioni dettagliate sulla scrittura di tabelle HTML. Utilizzando che il riferimento, si dovrebbe essere in grado di rispondere a tutte le restanti domande che avete circa il tavolo. La prima voce nella bibliografia è un ottimo riferimento per informazioni sulla scrittura di un algoritmo di conversione di base. In combinazione con il materiale disponibile qui, si dovrebbe essere in grado di mettere insieme un convertitore binarydecimalhexadecimal. Tra l'altro, in modo da poter controllare le vostre risposte alle domande da prima nella Introduzione: Un byte può codificare 256 (2) 8 valori univoci. La rappresentazione esadecimale per 3.897 è F39. Ogni cifra esadecimale corrisponde a 4 bit della rappresentazione binaria: 1111 0011 1001. Termini e concetti per fare questo progetto, è necessario comprendere i seguenti termini e concetti (fare ricerca di base per colmare le eventuali lacune nella vostra conoscenza): binario (base 2 ), decimale (base 10), esadecimale (base 16), bit, byte, kilobyte (kB), megabtye (MB), radix (numero di base). Concetti HTML di base: avviare tag e tag di fine, commenti, la sezione ltHEADgt, la sezione ltSCRIPTgt, la sezione ltBODYgt, la sezione ltFORMgt, il tag ltINPUTgt, il tag ltTABLEgt, per allineare i vostri s ordinatamente. concetti JavaScript: funzioni, variabili, oggetti, proprietà, metodi, eventi, gli array. concetti di programmazione generale: parole riservate, istruzioni di controllo (ad esempio, se else, cicli for e while.) operatori: Operatori aritmetici: (.... -) più, meno, tempi, dividere, modulo, operatori di assegnazione: ad esempio, . . -. . . operatori di confronto: ad esempio lt. gt. lt. gt. . operatori logici: AND, OR e NOT, (ampamp..). Utilizzando la rappresentazione binaria dei numeri interi descritte nell'introduzione, quanti interi unico può essere rappresentata con 8 bit Con 12 bit con n bit, dove n è un numero intero positivo utilizzando la rappresentazione esadecimale di numeri interi descritte nell'introduzione, quanti numeri interi unici in grado di essere rappresentato con 2 cifre esadecimali con 3 cifre esadecimali con n cifre esadecimali, dove n è un numero intero Bibliografia Spiegazione positivo di una implementazione JavaScript di conversione di base: A. Bogomolny. (N. d.). Realizzazione di Base algoritmi di conversione da Interactive Mathematics Miscellanea e puzzle. Estratto 17 marzo 2014, dal cut-the-knot. orgrecurrenceconversion. shtml È possibile trovare un tutorial step-by-step JavaScript al link qui sotto. Dopo aver studiato il tutorial, si dovrebbe essere in grado di rispondere a tutte le domande di cui sopra, e youll essere pronti a scrivere una semplice calcolatrice. Software Webteacher. (2006). Tutorial JavaScript per la Total Non-programmatore. Webteacher Software, LLC. Estratto 6 giugno 2006, da Introduzione alla programmazione webteacherjavascriptindex. html da Matt Gemmell descrive ciò che la programmazione è in realtà: Gemmell, M. (2007). Introduzione alla programmazione. Deans Direttore Tutorial AMP Resources. Estratto 14 MARZO 2014, da deansdirectortutorialsLingoIntroductionToProgramming. pdf moduli HTML Riferimento: W3C. (1999). Forme in documenti HTML, HTML 4.01 Specification. World Wide Web Consortium: Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University. Estratto 6 giugno 2006, da w3.orgTRREC-html40interactforms. html HTML tabelle di riferimento: W3C. (1999). Le tabelle nei documenti HTML. World Wide Web Consortium: Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University. Estratto 6 giugno 2006, da w3.orgTRREC-html40structtables. html un elenco di parole riservate in JavaScript (non è possibile utilizzare queste parole per funzione o nomi delle variabili nel programma, perché sono riservate per il linguaggio di programmazione in sé): Kit JavaScript. (2006). Parole JavaScript riservati. Estratto 6 giugno 2006, dal riferimento JavaScriptkitjsrefreserved. shtml A JavaScript: Mozilla Developer Network e Contribuenti individuali. (2013, il 14 dicembre). di riferimento JavaScript. Estratto 14 MARZO 2014, da developer. mozilla. orgen-USdocsWebJavaScriptReference Se si ottiene interessati e iniziare a fare un sacco di sviluppo web, si consiglia di utilizzare un editor di testo che è un po 'più sofisticato di blocco note. Un editor progettato per lo sviluppo web e la programmazione può aiutare con la formattazione in modo che il codice è più leggibile, ma continuano a produrre file di testo. Questo tipo di editore può anche compilare codice HTML dettagli specifici web e fare l'evidenziazione della sintassi (codifica a colori ad esempio automatica di HTML), che può aiutare a trovare gli errori. Una possibilità è la CoffeeCup HTML Editor, che è disponibile in versione gratuita e completa per Microsoft Windows e Apple OS X. Materiali e Attrezzatura informatica con il browser Web (ad esempio Internet Explorer, Firefox) il programma di modifica del testo, come Blocco note alternativa. provare un editor HTML come CoffeeCup se si desidera un ulteriore aiuto con la formattazione e la sintassi. Le opzioni includono versioni gratuite e completa per Microsoft Windows e Apple OS X. Procedura sperimentale Utilizzando ciò che avete imparato a conoscere rappresentazione intera in basi diverse e programmazione in JavaScript, creare un convertitore binarydecimalhexadecimal. Il programma dovrebbe avere campi di input separati per ogni tipo di numero. Ricordate che rappresentazioni binarie usano generalmente più cifre decimali rispetto o esadecimali rappresentazioni, in modo da regolare le dimensioni dei vostri campi di input di conseguenza. Utilizzare i campi onChange evento in modo che quando l'utente inserisce un numero in uno dei campi, gli altri due sono aggiornate con il nuovo numero, convertito alla base appropriata. Ci sono diverse sotto-attività qui. Prendere la sub-task, uno alla volta, e gradualmente costruire le capacità del programma. Verificare che il codice per ogni sub-task funzioni correttamente prima di passare a quello successivo sub-task. Testate il programma verificando conversioni da ogni tipo di ingresso. Ecco alcuni suggerimenti di programmazione di applicazione generale da tenere a mente come iniziare con questo progetto. Organizza il tuo lavoro. Metodicamente pensare attraverso tutti i passaggi per risolvere il problema di programmazione. Provare per spartire i compiti fuori in breve, le funzioni gestibili. Pensate l'interfaccia per ogni funzione: quali argomenti devono essere passato alla funzione in modo che possa fare il suo lavoro uso attento di denominazione, buona formattazione e commenti descrittivi per rendere il codice comprensibile. Lascia la tua funzioni e variabili nomi che riflettono il loro scopo nel programma. Una buona scelta dei nomi rende il codice più leggibile. Trattino La istruzioni nel corpo di una funzione quindi è chiaro se il codice funzione inizia e termina. Rientrare le dichiarazioni a seguito di un caso, altro, per, o mentre istruzione di controllo. In questo modo si può facilmente vedere quali istruzioni vengono eseguite per un determinato settore o un loop nel codice. commenti descrittivi sono come le note a te stesso. Spesso nella programmazione, youll incorrere in un problema simile a quello youve risolto prima. Se il codice è ben commentato, che renderà più facile per tornare indietro e riutilizzare pezzi di esso più tardi. I vostri commenti saranno aiuterà a ricordare come hai risolto il problema precedente. Lavorare in modo incrementale. Quando si crea un programma, è quasi inevitabile che lungo la strada sarà anche creare bug. I bug sono errori nel codice che causano sia il programma a comportarsi in modi che non si intendeva, o causare a smettere di funzionare del tutto. Maggiore è il numero di linee di codice, più possibilità per i bug. Così, soprattutto quando si è in primo luogo di partenza, è importante lavorare in modo incrementale. Effettuare una sola modifica alla volta, fare in modo che funzioni come previsto e poi andare avanti. Con JavaScript, questo è facile da fare. Per controllare il codice, tutto quello che dovete fare è utilizzare un browser Web per aprire il file HTML contenente il codice. Dopo youve fatto un cambiamento nel codice con il proprio editor di testo, basta salvare il file, quindi passare al vostro browser e premere il pulsante pagina Re-load per vedere il cambiamento in azione. Test per assicurarsi che il codice funziona come previsto. Se il codice non ha punti di ramificazione che dipendono da input dell'utente, fare in modo che si prova ciascuno dei possibili punti di diramazione per assicurarsi che non ci sono sorprese. Inoltre, è una buona idea per il backup file di tanto in tanto con un nome diverso. In questo modo, se qualcosa va veramente sbagliato e non puoi capire, non avete bisogno di ricominciare da zero. Invece è possibile tornare a una versione precedente che ha lavorato, e ricominciare da lì. Come si guadagna di più esperienza con un particolare ambiente di programmazione, sarete in grado di scrivere più grandi pezzi di codice in una sola volta. Anche allora, è importante ricordare di testare ogni nuova sezione di codice per assicurarsi che funzioni come previsto prima di passare al pezzo successivo. Ottenendo l'abitudine di lavorare in modo incrementale, youll ridurre la quantità di tempo che passate identificare e correggere i bug. Quando il debug, lavorare con metodo per isolare il problema. Vi abbiamo detto in precedenza che i bug sono inevitabili, così come si fa a risolvere i problemi Beh, il primo passo è quello di isolare il problema: quale linea ha causato il programma di smettere di lavorare come previsto Se si sta seguendo la punta precedente e lavorare in modo incrementale, si può essere abbastanza sicuro che il problema è con la linea che avete appena scritto. Verificare la presenza di errori di battitura semplici primi. Non sarà riconosciuto un nome di funzione errato. In JavaScript, un nome di variabile scritto male crea semplicemente una nuova variabile. Questo è un errore facile da fare, e può essere difficile da trovare. Evitare di utilizzare parole riservate come nomi di variabili o funzioni. Prova a fondo il vostro programma. Si consiglia di verificare il programma in modo incrementale come si scrive, ma si dovrebbe anche verificare il programma completato per fare in modo che si comporta come previsto. Variazioni aggiungere funzioni per controllare ogni ingresso per assicurarsi che solo le cifre appropriate vengono immessi. Utilizzare la funzione built-in alert JavaScript () per far apparire un messaggio che l'utente qual è il problema e chiedendo loro di inserire un numero valido. Generalizzare il convertitore per gestire base 2 a base 36 (quando l'alfabeto si esaurisce di lettere per più cifre). Il convertitore che hai scritto è stato progettato per interi senza segno (interi positivi più zero). Che dire di numeri negativi per un progetto più avanzato, fare ricerca per imparare i numeri negativi sono rappresentati in notazione binaria ed estendere il convertitore per gestire i numeri negativi. Che dire di numeri razionali per un progetto molto più avanzata, fare ricerca per imparare come numeri in virgola mobile sono rappresentati in notazione binaria ed estendere il convertitore per gestire questi numeri. Chiedi ad un esperto L'Chiedi ad un Forum di esperti è destinato ad essere un luogo dove gli studenti possono andare a trovare le risposte alle domande scientifiche che sono stati in grado di trovare con altre risorse. Se avete domande specifiche circa il progetto fiera della scienza o fiera della scienza, il nostro team di scienziati volontari in grado di aiutare. I nostri esperti non farà il lavoro per voi, ma faranno suggerimenti, offrire una guida, e aiutare a risolvere i problemi. Link correlati

No comments:

Post a Comment