我想我不太瞭解Require.js,所以我想問我爲什麼可以像下面的例子(全局)那樣更改firstName和lastName。Requirejs並避免污染全球範圍
不應該Require.js做一些有關避免污染全球範圍的東西嗎?我只是提供創建對象的界面,而不是改變它的內容。非常感謝。
// someModule.js
define([], function() {
function Employee(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Employee.prototype.getName = function() {
return this.firstName = ' ' = this.lastName;
}
return {
createEmployee: function(fName, lName) {
return new Employee(fName, lName);
};
};
});
// main.js
require(['jquery', 'someModule'], function($, someModule) {
$(function() {
var x = someModule.createEmployee('John', 'Doe');
document.write(x.getName() + '<br>');
x.firstName = 'Some other name';
x.lastName = 'Some other surname';
document.write(x.getName());
});
});
,輸出是:
李四
其他一些名其他一些姓氏不在此處polute任何全球範圍內
更好地發佈你的代碼,而不是鏈接到圖像。 – 2013-03-21 17:49:27