How to set 'use strict' globally with JSLint

I'm new to javascript and am trying to validate through JSLint. Where should I put "use strict" to use it globally and validate?

This gives me error "Unexpected expression 'use strict' in statement position.":

    "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>');

According to the documentation, the browser option for JSLint automatically disables use of "use strict"; at the global level. As far as I'm aware, there's no way to turn it back on.

You could turn off the browser option, and get the same predeclared globals as the browser option by using:

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

Alternately you could wrap all of your code in an IIFE and use "use strict"; at the top of it.

Alternately you could switch to JSHint (has more options), and use its strict: global option to allow "use strict"; at global scope.


'use strict' is typically used at the start of functions. For your code, I would just wrap it all in an IIFE, which would make 'use strict' valid

(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>');
})();
链接地址: http://www.djcxy.com/p/90272.html

上一篇: Python快速计算大量距离

下一篇: 如何在全局范围内使用JSLint设置'use strict'