亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中不同函數可以定義相同變量名嗎

發布時間:2020-06-22 21:21:49 來源:億速云 閱讀:550 作者:元一 欄目:web開發

JavaScript中不同函數可以定義相同變量名嗎?可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

JavaScript中不同的函數中可以定義相同的變量名,因為是在函數體內部定義的,屬于局部變量,外界是訪問不到的。所以是可以的。

舉例:

var a = 1;
function b(){
    a = 10;
    return;
      function a(){
      console.log(a);
        }
        }

          b();

          console.log(a);

          這題打印出a的值為多少呢?可能會有很多的同學認為打印出的值為10,但其實并不是,為什么呢?

          誤區1:變量提升

          我想大家都明白,在執行函數b的時候,由于其內部有一句a=10,前面并沒有var,所以在執行完函數b之后,認為變量a提升為全局變量,并且10這個值覆蓋了之前的1。所以打印出的值為10。我想的話這是多數新手的思路。

          這里有個知識點:

          顯示聲明:var a = 1;

          隱式聲明:a = 1;

          隱式聲明會變量提升為全局變量

          誤區2:不知道函數聲明也是有提升的

          多數新手認為在執行函數b的時候,js執行代碼自上往下,執行到return的時候退出函數,不再執行函數a,所以認為這個函數a根本不起作用。

          拓展知識:

          全局變量和局部變量的區別如下:

          1. 作用域不同:全局變量的作用域為整個程序,而局部變量的作用域為當前函數或循環等

          2. 內存存儲方式不同:全局變量存儲在全局數據區中,局部變量存儲在棧區

          3. 生命期不同:全局變量的生命期和主程序一樣,隨程序的銷毀而銷毀,局部變量在函數內部或循環內部,隨函數的退出或循環退出就不存在了

          4. 使用方式不同:全局變量在聲明后程序的各個部分都可以用到,但是局部變量只能在局部使用。函數內部會優先使用局部變量再使用全局變量。

          局部變量可以與全局變量重名,但是局部變量會屏蔽全局變量。

          全局變量是編程術語中的一種,源自于變量之分。

          變量分為局部與全局,局部變量又可稱之為內部變量。由某對象或某個函數所創建的變量通常都是局部變量,只能被內部引用,而無法被其它對象或函數引用。

          全局變量既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。

          看完上述內容,你們對JavaScript中不同函數可以定義相同變量名有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

          向AI問一下細節

          免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

          AI

          汨罗市| 布拖县| 四会市| 常德市| 博野县| 锦州市| 大城县| 富阳市| 伊春市| 惠安县| 梨树县| 双鸭山市| 万安县| 镇平县| 内江市| 唐山市| 阳泉市| 左云县| 禹州市| 承德县| 沙坪坝区| 泰顺县| 大关县| 哈尔滨市| 盐源县| 互助| 英吉沙县| 云阳县| 苗栗市| 右玉县| 古田县| 丰城市| 阿荣旗| 二手房| 安国市| 新建县| 乌海市| 松桃| 阿合奇县| 旬邑县| 九龙县|