Я довольно новичок в Javascript, поэтому могу не использовать точную терминологию.
Предположим, что я определяю литерал объекта как таковой.
var myObj = {
someMethod:function() {
//can we have access to "someValue" via closure?
alert(someValue);
}
}
И затем мы назначаем функцию другому объекту, как этот.
var myOtherObject = {
someOtherMethod:function() {
var someValue = 'Hello World';
//If we did this, then the function would have access to "someValue"
this.aMethod = function() {
alert(someValue);
}
//This does not work for "someMethod" to have access to "someValue"
//this.someMethod = myObj.someMethod;
//This does work, however I would like to avoid the use of eval()
this.someMethod = eval("("+myObj.someMethod.toString()+")");
}
}
Можно ли заставить myOtherObject.someMethod () работать без использования eval () , как указано выше?