在函數中,對於沒有var 定義的變量是隱式全局變量,但是需要先執行一遍後纔會生效,否則是沒有定義的變量。代碼如下:
function sum(num1,num2){
return num1 + num2;
}
function show(){
result = sum(30,50);
}
在運行代碼的時候,會顯示這裏的result 沒有被定義,但是用谷歌瀏覽器設置斷點調試之後,結果會正常顯示。
在函數中,對於沒有var 定義的變量是隱式全局變量,但是需要先執行一遍後纔會生效,否則是沒有定義的變量。代碼如下:
function sum(num1,num2){
return num1 + num2;
}
function show(){
result = sum(30,50);
}
在運行代碼的時候,會顯示這裏的result 沒有被定義,但是用谷歌瀏覽器設置斷點調試之後,結果會正常顯示。
全局變量之“禍”由來已久, 人所共“憤”, 但平時在做開發時, 常常還是不自覺地依靠全局變量, 比較便捷, 也容易出很隱蔽的BUG 。 最近發現了一例, 做了簡化處理, 不過本質是一樣的, 供大家