Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我需要将代码包装在立即调用的函数表达式中?_Javascript_Node.js_Anonymous Function_Jslint_Strict - Fatal编程技术网

Javascript 为什么我需要将代码包装在立即调用的函数表达式中?

Javascript 为什么我需要将代码包装在立即调用的函数表达式中?,javascript,node.js,anonymous-function,jslint,strict,Javascript,Node.js,Anonymous Function,Jslint,Strict,1) 为什么我需要在(function(){})()中包装下面提到的代码,否则它在JS linting期间抛出错误,2)如果放置“use strict”,我也会收到错误以上(函数(){})()我想的是把放在“严格使用”在页面的第一行 请让我知道这两种行为 我的工作代码- (function(){ "use strict"; // Constructing constructor function // whose purpose is to create new // Person Obje

1) 为什么我需要在
(function(){})()中包装下面提到的代码,否则它在JS linting期间抛出错误,2)如果放置
“use strict”,我也会收到错误以上
(函数(){})()我想的是把
放在“严格使用”在页面的第一行

请让我知道这两种行为

我的工作代码-

(function(){
"use strict";

// Constructing constructor function
// whose purpose is to create new 
// Person Objects
var Person = function(name) {
    this.name = name || "TestUser";
    this.hobbies = [];
};

Person.prototype.setHobby = function(hobby) {
    this.hobbies.push(hobby);
};

Person.prototype.getHobbies = function() {
    return this.hobbies;
};


exports.Person = Person;

var peter = new Person('peter');
peter.setHobby('Gambling');
peter.setHobby('Street Fighting');
peter.setHobby('Smoking');

peter.getHobbies();
})();
使用

在文件的顶部。即使删除了iLife,它也会以优异的成绩通过jshint


我不推荐jslint。你将用你的余生与它斗争,并调整你的代码,使它闭嘴。

你会遇到什么jslint错误?您使用的是jslint(不推荐)还是jshint(推荐)?如果是jshint,您是否正在使用/*jslint node:true*/?赞成该解决方案,但我强烈反对禁用
jslint
(!)。例如,当您在团队中工作,并且希望每个人都坚持某种代码风格时,它非常有用。还可以轻松调整要显示的错误/警告(自定义配置文件)。功能
未使用的变量
也非常方便。。。只是我的意见。我不是建议跳过皮棉。我建议使用像jshint或eslint这样的linter,它不像jslint那样固执己见和令人讨厌。
/*jshint node: true */