我是新來的。我有一個困擾着我的問題。我想知道是否有人可以指出我正確的方向。我有以下代碼。從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