Det er svært at forestille sig noget bedre end Mozilla-browserne. Er der en fejl i dit script, får du præcist at vide i hvilken linie .... hvad mere kan man ønske sig? :) http://www.mozilla.org/download.html
- men hvem har dog bildt dig ind, man bør 'validere' sine JavaScripts?
Udover at bruge browsernes fejlmeldinger, tror jeg, det bliver vanskeligt at finde tre kodere på verdensplan, der kører deres scripts gennem en validator ... hvis en sådan overhovedet eksisterer. Jeg har aldrig set en - og fatter ikke helt, hvad sådan én skulle bruges til :)
Det er ikke en direkte validator, som dem fra w3c, men der findes denne her, som checker for diverse dårlige kodevaner (bla. skal dine linier afsluttes med semi-kolon osv.): http://www.crockford.com/javascript/jslint.html
Denne "validator" vil dog også brokke sig over hvis du fx skrive i++, da dette påstås at være en sikkerhedsmæssig dårlig ting at bruge. Hvad han præcis mener med det aner jeg ikke, men det står på denne her side: http://www.crockford.com/javascript/lint.html
Jeg spurgte ham der har lavet det på et tidspunkt hvorfor man ikke bør bruge post-increment (i++), og dette var hans lille forklaring: <cite> The i++ tends to be misused. Most of the buffer overrun bugs that Microsoft has been purging from its code base used i++. The ++i is less prone to misuse. I like the i += 1 even better. JSLINT looks for errors, but it also looks for bad practices that are known to be error prone. </cite>
skovenborg skriver: > Most of the buffer overrun bugs that Microsoft has been purging from its code base used i++
Det er det sikreste at anse værdien af en tællervariabel for udefineret / ukendt EFTER afvikling af en for-løkke. Måske har nogle programmører tilsidesat dette, og altså antaget en bestemt værdi af variablen efter løkken.
skovenborg skriver: > The ++i is less prone to misuse.
Jeg har ikke mødt den syntaks før. Har lavet en lille test, men kan ikke se forskellen. ER der forskel på i++ og ++i ?
Jeg har været inde på dit link. Det er en online-validator, men kildekoden er vedlagt. Selv om man har mulighed for at fravælge i++ check og semikolon-krav, synes jeg stadig kravene til et script er for skrappe.
Angående pre-increment (++i) og post-increment (i++), så kan forskellen nok nemmest illustreres ved dette eksempel: var a = 2; alert(a++); // output: 2 alert(a); // output: 3 var b = 2; alert(++b); // output: 3
Altså ved i++ bliver i først større efter og ++i bliver i større før - lidt rodet skrevet, men eksemplet siger det vidst meget godt.
Angående jslint, så er jeg udmærket godt klar over det ikke er en validator. Hvis du taler om validator ligesom html og css-validatoren, så er det jo faktisk bare den ganske almindelig js-konsol (hvad den hedder i IE ved jeg ikke, og den skal du heller ikke bruge - se oles kommentar), der viser om du har lavet en fejl i dit script. jslint er bare en måde hvorpå man kan checke for dårlige kodevaner, såvidt jeg har forstået den.
Det jeg forestillede mig med en validator var, at den måske også kunne identificere ubrugte variabler og funktioner. (Og en superfacilitet ville være, om den samtidig kunne formatere koden med pæne indrykninger og sådan - ligesom det Pascal-program ved navn Spruce vi havde på uni for 25 år siden. Denne operation kunne jo sagtens udføres i samme forretningsgang!)
Jeg har en Mozilla Firefox - og burde måske ophøje den til standardbrowser. Den kan åbenbart fortælle når jeg for eksempel har glemt et anførselstegn - i stedet for blot at skælde ud og smække med døren.
Tak til skovenborg, tak til ole. Vi kom lidt væk fra emnet, men vendte tilbage igen. Lad os få afsluttet denne tråd. Smid et svar, begge to.
måske :-) Gør heller ikke så meget. Du fik jo heller aldrig rigtig fundet en validator.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.