課程
/前端開發
/JavaScript
/JavaScript進階篇
比如在add1()中定義了變量a=1,可以在add2()中可以直接調用變量a嗎
2016-04-30
源自:JavaScript進階篇 5-2
正在回答
<script?type="text/javascript"> var?quanju?=?0;//全局變量 function?rec(){ ????var?a?=?1;//函數變量 ????//quanju?可以在此使用 ????function?func_b(){ ????????var?b?=?a;//a可以在此使用 ????????alert(b); ????????//quanju?可以在此使用 ????} func_b(); } function?add2(){ ???//?a不能再這里使用 ???//quanju?可以在此使用 ???alert(quanju?); } </script>
仁兄,這就是JS的變態之處,函數里面嵌套函數,此函數只能在rec函數內部使用。js的變量分兩種,一種是全局變量,這種變量一般在js文件開始的時候定義例如;
<script?type="text/javascript"> var?a?=?0;//定義一個全局變量 </script>
這種變量在此JS里面任何一處均可以使用。它的作用域是針對整個js文件的。作用域是指這個變量的可見范圍,就是你能用的范圍。
第二種就是函數內部變量,這種變量的作用域只是在函數內部,但是呢,招架不住函數里面嵌套函數,但是函數體的作用域就是那兩個{}之間,所以,上面的例子,可是說明a可以在func_b()使用。
嵌套的可以
不可以,在add1() 定義的變量是屬于add1(),其他方法無法訪問, 除非使用全局變量
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答變量調用函數返回值時可以不用定義嗎?
2 回答定義多個參數的函數需要在函數里再聲明變量么?
4 回答函數調用的元素可以是變量嗎?
2 回答var i=setTimeout中的i為什么在函數中定義不起作用,要在函數外定義
2 回答請問老師可以直接調用一個調用其自身的函數嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-26
仁兄,這就是JS的變態之處,函數里面嵌套函數,此函數只能在rec函數內部使用。js的變量分兩種,一種是全局變量,這種變量一般在js文件開始的時候定義例如;
這種變量在此JS里面任何一處均可以使用。它的作用域是針對整個js文件的。作用域是指這個變量的可見范圍,就是你能用的范圍。
第二種就是函數內部變量,這種變量的作用域只是在函數內部,但是呢,招架不住函數里面嵌套函數,但是函數體的作用域就是那兩個{}之間,所以,上面的例子,可是說明a可以在func_b()使用。
2016-05-03
嵌套的可以
2016-04-30
不可以,在add1() 定義的變量是屬于add1(),其他方法無法訪問, 除非使用全局變量