課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么把sum定義在函數內跟定義在函數外的運行結果不一樣,求解答!謝謝
2015-11-24
源自:JavaScript進階篇 8-5
正在回答
舉個栗子
比如想要循環一個數組,求出數組中所有元素之合
定義在函數外:
var?arr?=?[1,2,3,4]; var?sum?=?0;//?定義在函數外 for(var?i?=?0;i<arr.length;i++){ ??//?因為sum在外部定義的,所以只管往sum上累加值即可 ??sum?+=?arr[i] }
定義在函數內:
var?arr?=?[1,2,3,4]; for(var?i?=?0;i<arr.length;i++){ ??//?每次進循環之后,都重新定義了一個sum變量,其值是0,所以上一次累加的元素值會被沖(覆蓋)掉 ??var?sum?=?0; ??//?累加元素值 ??sum?+=?arr[i] }
qq_我愛喝大果粒_0 提問者
慕男嬸 回復 qq_我愛喝大果粒_0 提問者
應該是局部變量和全局變量的原因吧,大神勿噴!
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
1 回答為什么main定義在函數之外就運行不成功,但是定義在函數里就可以
2 回答var i=setTimeout中的i為什么在函數中定義不起作用,要在函數外定義
2 回答 var attime;為什么要定義在函數的外面
2 回答num變量為何要在函數外部定義
1 回答定義函數!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-11-24
舉個栗子
比如想要循環一個數組,求出數組中所有元素之合
定義在函數外:
定義在函數內:
2015-11-24
應該是局部變量和全局變量的原因吧,大神勿噴!