真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript中不同函數(shù)可以定義相同變量名嗎

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

成都創(chuàng)新互聯(lián)專注于漢源企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。漢源網(wǎng)站建設(shè)公司,為漢源等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

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

舉例:

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

          b();

          console.log(a);

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

          誤區(qū)1:變量提升

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

          這里有個知識點:

          顯示聲明:var a = 1;

          隱式聲明:a = 1;

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

          誤區(qū)2:不知道函數(shù)聲明也是有提升的

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

          拓展知識:

          全局變量和局部變量的區(qū)別如下:

          1. 作用域不同:全局變量的作用域為整個程序,而局部變量的作用域為當(dāng)前函數(shù)或循環(huán)等

          2. 內(nèi)存存儲方式不同:全局變量存儲在全局數(shù)據(jù)區(qū)中,局部變量存儲在棧區(qū)

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

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

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

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

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

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

          看完上述內(nèi)容,你們對JavaScript中不同函數(shù)可以定義相同變量名有進一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。


          網(wǎng)站標題:JavaScript中不同函數(shù)可以定義相同變量名嗎
          當(dāng)前URL:http://weahome.cn/article/jpocod.html

          其他資訊

          在線咨詢

          微信咨詢

          電話咨詢

          028-86922220(工作日)

          18980820575(7×24)

          提交需求

          返回頂部