Javascript 为什么我需要将代码包装在立即调用的函数表达式中?
1) 为什么我需要在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
(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 */