在这两种情况下,this
的值是什么?一个嵌套函数如何引用另一个函数的返回值?
var rootObj = {
nestedObjA: {
functionA: function() {
// what is value of 'this' here?
return 'foo';
}
},
nestedObjB: {
functionB: function() {
// how to reference? >> rootObj.nestedObjA.functionA
// what is the value of 'this' here?
}
}
}
最佳答案
两个函数中的this
值应分别为rootObj.nestedObjA.functionA
和rootObj.nestedObjB.functionB
。要检查this
的值,可以在每个函数中添加console.dir(this)
。
要从函数返回值,您应该在函数体内添加return
,例如; return rootObj.nestedObjA.functionA()
内rootObj.nestedObjB.functionB
var rootObj = {
nestedObjA: {
functionA: function() {
// what is value of 'this' here?
console.dir(this);
return 'foo';
}
},
nestedObjB: {
functionB: function() {
// how to reference? >> rootObj.nestedObjA.functionA
// what is the value of 'this' here?
console.dir(this);
return rootObj.nestedObjA.functionA()
}
}
}
var res = rootObj.nestedObjB.functionB();
console.log(res); // 'foo'
关于javascript - 在JavaScript中,如何从更深层的嵌套方法中引用方法的返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35491236/