關于全局變量和局部變量的問題,求大牛解釋下,謝謝
var i = 'yuanjianhang';
function myloveName() {
? alert(i);
?i = 'guanxi';
}
myloveName();
這段代碼的輸出是undefined,但是不明白為什么,把?i = 'guanxi';刪除就好了,但是不理解為什么,代碼執行到alert的時候不是應該輸出上面定義的全局變量么?求大神解釋下
var i = 'yuanjianhang';
function myloveName() {
? alert(i);
?i = 'guanxi';
}
myloveName();
這段代碼的輸出是undefined,但是不明白為什么,把?i = 'guanxi';刪除就好了,但是不理解為什么,代碼執行到alert的時候不是應該輸出上面定義的全局變量么?求大神解釋下
2016-11-05
舉報
2016-11-05
代碼是按順序執行的
2016-11-05
為什么我執行是彈出yuanjianhang呢
<!DOCTYPE?HTML> <html> <head> ???<meta?http-equiv="Content-Type"?Content="text/html;?charset=utf-8"?/> ???<title>javascript</title> </head> <body> <script?type="text/javascript"> ???var?i?=?'yuanjianhang'; ???function?myloveName()?{ ???????alert(i); ???????i?=?'guanxi'; ???} ???myloveName(); </script> </body> </html>2016-11-05
但有區別,第二個必須先執行函數才能用,第一個隨意用
2016-11-05
這兩個都是全局變量
2016-11-05
我覺得定函數時并沒有傳入參數,上來就直接alert(),所以沒有定義