如何使用 JSLint 全局设置“使用严格”

How to set 'use strict' globally with JSLint

本文关键字:使用严格 何使用 JSLint 全局设置      更新时间:2023-09-26

我是javascript的新手,正在尝试通过JSLint进行验证。我应该在哪里放置"使用严格"以全局使用它并进行验证?

这给了我错误"语句位置中意外的表达式'使用 strict'。

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

根据文档,JSLint 的browser选项会自动禁用全局级别"use strict";的使用。据我所知,没有办法重新打开它。

您可以关闭浏览器选项,并使用以下命令获取与browser选项相同的预声明全局变量:

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

或者,您可以将所有代码包装在 IIFE 中,并在 IIFE 顶部使用"use strict";

或者,您可以切换到JSHint(有更多选项(,并使用其strict: global选项允许全局范围内的"use strict";

">

use strict"通常用于函数的开头。对于您的代码,我只是将其全部包装在 IIFE 中,这将使"使用严格"有效

(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>');
})();