Drenched_belief
2017-03-21 10:04:50
JavaScript的函數在查找變量時從自身函數定義開始,從“內”向“外”查找。如果內部函數定義了與外部函數重名的變量,則內部函數的變量將“屏蔽”外部函數的變量。請看:function foo(){? ? ? ? ? ? ? ? var x=1;? ? ? ? ? ? ? ? function bar(){? ? ? ? ? ? ? ? ? ? var x="a";? ? ? ? ? ? ? ? ? ? alert("x in bar()="+x);? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? alert("x in foo()="+x);? ? ? ? ? ? ? ? bar();? ? ? ? ? ? }怎么理解上面的話呢?如果調用foo,縣彈出x in foo()=1,后彈出x in bar()=a ?這不是很正常嘛。
添加回答
舉報
0/150
提交
取消