我道歉,如果这是一个公开的,但我找不到我想要的答案,虽然我的问题似乎很容易。
这就是我所拥有的:
function myMain (myParam) {
var myObj = {
myVal1 : 'demo',
myFunc : function (myParam) {
console.log (myParam);
}
};
runDemo(myObj);
}
我的问题是我希望console.log
写myParam
myMain
,但它是undefined
- 为什么?
如何调用myMain('works')
以便控制台写works
?
仅供参考:使用此单个对象调用runDemo
,并使用myFunc作为对象值之一 - 无处可去。我很感激任何帮助,谢谢。
答案 0 :(得分:1)
让myFunc不接受这样的参数:
function myMain (myParam) {
var myObj = {
myVal1 : 'demo',
myFunc : function () {
console.log (myParam);
}
};
runDemo(myObj);
}
在这种情况下,myFunc
会保留变量myParam
的值。这称为closure。