나는 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하지 않는
이미지 링크가 아닌 코드를 게시하는 것이 좋습니다. –