1) Почему мне нужно обернуть указанный ниже код в (function(){})();
, в противном случае это ошибка бросания во время JS linting и 2) я также получу ошибку, если поместить "use strict";
выше (function(){})();
, что я думал поставить "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();
})();
Какая ошибка jslint вы получаете? Вы используете jslint (не рекомендуется) или jshint (рекомендуется)? Если jshint, вы используете/* jslint node: true * /? –