最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JS變量及其作用域的示例分析

小編給大家分享一下JS變量及其作用域的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、黃州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為黃州等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

1、 變量及其作用域:變量分為“全局變量”和“局部變量”,“全局變量”申明在函數(shù)外部,可供所有函數(shù)使用,而“局部變量”申明在函數(shù)體內(nèi)部,只能在定義該變量的函數(shù)體內(nèi)使用。

(備注:在申明變量時(shí)沒(méi)有var關(guān)鍵字,而是直接賦值的變量均為全局變量)


  function main() {  
    n = 10;//這里的n為全局變量,可以被外部直接使用
  }
  main();
  alert(n);

2、 在函數(shù)體內(nèi),局部變量的優(yōu)先級(jí)高于全局變量。


  //網(wǎng)上看到的我認(rèn)為很有代表性的一個(gè)例子,在函數(shù)體外部和內(nèi)部都申明了相同名字的變量,變量的作用域問(wèn)題,例子如下:
  var n = 1;
  function test() {
    alert(n); //這里的a并不是全局變量,原因是函數(shù)體第四行申明了一個(gè)相同重名的局部變
         //量a,如果把第四行a的申明注釋掉,那么這里的a顯示1,為全局變量。所以得
         //出結(jié)論:全局變量a被局部變量a覆蓋了。
         //說(shuō)明了JS函數(shù)在test()在執(zhí)行前,函數(shù)體內(nèi)的變量a都指向了局部變量,但本
         //行輸出的a在執(zhí)行過(guò)程中還沒(méi)有被賦值,所以顯示undefined。
    n = 2;
    alert(n);
    var n; //本行申明局部變量a
    alert(n);
  }
    test();
    alert(n);

按照我的理解,上面例子最后輸出的答案應(yīng)該是:1 2 2 1;但是正確的答案是:undefined 2 2 1; 原因就是函數(shù)體外部和內(nèi)部都申明了相同名字的變量時(shí),局部變量覆蓋了全局變量。

3、 外部怎么讀取函數(shù)體內(nèi)部的局部變量呢?

一般來(lái)說(shuō),只有函數(shù)體內(nèi)部可以直接得到外部的全局變量,但是外部要得到函數(shù)體內(nèi)部的局部變量是不行的。但是,通過(guò)在函數(shù)體內(nèi)部再定義一個(gè)函數(shù)返回局部變量,再?gòu)耐獠空{(diào)用函數(shù)就能實(shí)現(xiàn)了。


  function f1() {    
    var n = 10;    
    function f2() {//在f1()內(nèi)部再定義f2(),通過(guò)f2()訪問(wèn)f1()中的局部變量      
      alert(n);    
    }    
    return f2;//返回f1()局部變量n
  }  
  var result = f1(); //在外部調(diào)用f1()函數(shù),就能獲取局部變量n的值
  result(); // 10,即為n的值

以上是“JS變量及其作用域的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標(biāo)題:JS變量及其作用域的示例分析
URL標(biāo)題:http://fisionsoft.com.cn/article/jchdjs.html