2016-02-09 8 views
7

Ich bin neu in Javascript und versuche, über JSLint zu validieren. Wo sollte ich "verwenden Sie streng", um es global zu verwenden und zu validieren?Wie man 'use strict' global mit JSLint setzt

Das gibt mir Fehler "Unerwarteter Ausdruck 'use strict' in der Aussage Stellung.":

"use strict"; 
    console.log('doing js in head-section'); 

    function helloWorld() { 
     console.log('called function helloWorld()'); 
     alert('Hello World from a JS function showing an alert!'); 
    } 

    function helloMyNumber() { 
     console.log('called function helloMyNumber()'); 
     var max = 42; 
     var yourLuckyNumber = prompt('Enter your lucky number (between 1 and '+ max +')'); 
     var myLuckyNumber = Math.floor(Math.random()*(max+1)); 
     var paragraph = document.getElementById('luckynumber'); 
     paragraph.innerHTML = paragraph.innerHTML + ' Your lucky number is: ' + yourLuckyNumber + '. Mine is: ' + myLuckyNumber + '. They ' + (yourLuckyNumber == myLuckyNumber ? 'DID ' : 'did NOT ') + 'match!'; 
    } 



    console.log('doing JS in body-section'); 
    document.writeln('<p class="green">Hello World from JS within a body-section in HTML!</p>'); 

Antwort

4

Nach the documentation ‚use strict‘ würde, die browser Option für JSLint deaktiviert automatisch den Einsatz von "use strict"; auf globaler Ebene. Soweit ich weiß, gibt es keine Möglichkeit, es wieder einzuschalten.

Sie könnten die Browser-Option deaktivieren, und erhalten die gleichen vordeklarierte Globals als browser Option unter Verwendung:

/*global 
Audio, clearInterval, clearTimeout, document, event, history, Image, location, name, navigator, Option, screen, setInterval, setTimeout, XMLHttpRequest 
*/ 

Alternativ Sie alle Ihre Code in einer IIFE wickeln konnte und verwenden "use strict"; an der Spitze es.

Alternativ können Sie auch zu JSHint wechseln (hat mehr Optionen) und verwenden Sie die Option strict: global, um "use strict"; im globalen Gültigkeitsbereich zuzulassen.

0

'use strict' typischerweise zu Beginn der Funktionen verwendet wird. Für Ihren Code, würde ich wickeln Sie es einfach alle in einem IIFE, was machen gültig

(function() { 
    "use strict"; 
    console.log('doing js in head-section'); 

    function helloWorld() { 
     console.log('called function helloWorld()'); 
     alert('Hello World from a JS function showing an alert!'); 
    } 

    function helloMyNumber() { 
     console.log('called function helloMyNumber()'); 
     var max = 42; 
     var yourLuckyNumber = prompt('Enter your lucky number (between 1 and '+ max +')'); 
     var myLuckyNumber = Math.floor(Math.random()*(max+1)); 
     var paragraph = document.getElementById('luckynumber'); 
     paragraph.innerHTML = paragraph.innerHTML + ' Your lucky number is: ' + yourLuckyNumber + '. Mine is: ' + myLuckyNumber + '. They ' + (yourLuckyNumber == myLuckyNumber ? 'DID ' : 'did NOT ') + 'match!'; 
    } 



    console.log('doing JS in body-section'); 
    document.writeln('<p class="green">Hello World from JS within a body-section in HTML!</p>'); 
})(); 
+3

'" use strict ";' ist am Anfang einer Datei vollkommen gültig. –

Verwandte Themen