我從「JavaScript Enlightement」一書中拿下了下面的代碼。該代碼表示前兩個語句返回true,但是當我在JSFiddle中運行代碼時,第一行返回「false」(用var關鍵字定義的變量)。這裏是代碼:Javascript「head」object scope
<!DOCTYPE html><html lang="en"><body><script>
var myStringVar = 'myString';
var myFunctionVar = function() {};
myString = 'myString';
myFunction = function() {};
console.log('myStringVar' in window); // returns true
console.log('myFunctionVar' in window); // return true
console.log('myString' in window); // returns true
console.log('myFunction' in window); // return true
</script></body></html>
有人可以解釋這裏發生了什麼?
當問一個關於jsfiddle的問題時,提供一個鏈接到小提琴將是有禮貌的... – JJJ 2013-03-02 10:57:32
你可能會發現這個有趣的http://jsfiddle.net/V2uEb/1/如果你在本地嘗試這個結果將是不同。 – Bakudan 2013-03-02 11:10:06
@Juhana我的問題不直接關於JSFiddle,但我明白了你的觀點。 – 2013-03-02 11:22:23