我是新来的。我有一个困扰着我的问题。我想知道是否有人可以指出我正确的方向。我有以下代码。从Javascript中的另一个函数访问本地变量与闭包?
var f1 = function() {
var myValue = 3;
setTimeout((function(myValue){
return function() {
f2();
};
})(myValue), 1000);
};
var f2 = function() {
console.log(myValue);
}
f1();
我得到myValue未定义。我在这里错过了什么?如何在f2中访问myValue而不将其设为全局或作为参数传递?提前致谢。
----附加信息----
为什么我问到这个问题,因为我有这个一个面试问题的原因。鉴于以下功能:
var func1 = function() {
var myValue = 3;
setTimeout(func2, 1000);
};
var func2 = function() {
console.log(myValue);
};
func1();
不移动的功能或添加参数的功能,只改变里面有什么FUNC1。如何在console.log中获取myValue打印。
将它作为参数调用'从f2'是不同的'f1' –
如果您可以使用localStorage,请将localStorage中的值设置为f1,然后从f2中的localStorage中读取它。 –
阅读JS中的变量作用域。 – Slime