久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      javascript的2種變量范圍有什么不同

      區(qū)別:在全局作用域中,變量在整個頁面腳本中都是可見的,可以被自由訪問。在局部作用域中,變量僅能在聲明的函數(shù)內(nèi)部可見,函數(shù)外是不允許訪問的;函數(shù)執(zhí)行完畢之后,局部作用域銷毀。

      javascript的2種變量范圍有什么不同

      本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

      變量范圍,可稱為“變量作用域(Scope)”,是指變量在程序中可以訪問的有效范圍,也稱為變量的可見性。

      作用域

      1、什么是作用域(Scope)

      通常來說,一段程序代碼中所用到的名字不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。

      JS作用域:就是代碼名字(變量)作用的范圍

      作用域的目的:是為了提高程序的可靠性,更重要的是減少命名沖突

      2、JS的作用域的分類(ES6之前)

      JS作用域可以分為兩大類:全局作用域 、局部作用域(函數(shù)作用域)

      1)全局作用域:

        直接編寫在 script 標簽之中的JS代碼,都是全局作用域;

        或者是一個單獨的 JS 文件中的。

        全局作用域在頁面打開時創(chuàng)建,頁面關(guān)閉時銷毀;

        在全局作用域中有一個全局對象 window(代表的是一個瀏覽器的窗口,由瀏覽器創(chuàng)建),可以直接使用。

      在全局作用域中,

      • 所有創(chuàng)建的變量都會作為 window 對象的屬性保存。

      javascript的2種變量范圍有什么不同

      • 所有創(chuàng)建的函數(shù)都會作為 window 對象的方法保存。

      javascript的2種變量范圍有什么不同

      2)局部作用域(函數(shù)作用域):

        在函數(shù)內(nèi)部就是局部作用域,這個代碼的名字只在函數(shù)的內(nèi)部起作用

        調(diào)用函數(shù)時創(chuàng)建函數(shù)作用域,函數(shù)執(zhí)行完畢之后,函數(shù)作用域銷毀;

        每調(diào)用一次函數(shù)就會創(chuàng)建一個新的函數(shù)作用域,它們之間是相互獨立的。

      實例分析:

      在這個例子里面 un函數(shù)里面的 局部作用域中 有一個 num 變量,script 標簽的全局作用域中也有一個 num變量。

      (一個在全局作用域下,另一個在局部作用域下,雖然兩個變量的變量名相沖突,但是并沒有影響。)

      所以,在不同的作用域下,變量名相同也不受影響,這樣就很有效的減少了命名沖突。

      <script>     var num = 10;     function nu(){         var num = 20;         console.log(num);     }     nu();     console.log(num); </script>

      javascript的2種變量范圍有什么不同

      JS現(xiàn)階段(ES6之前)沒有塊級作用域,被塊級作用域就是用大括號({})包含的就是塊級作用域。

      二、變量的作用域

      JavaScript 變量可以分為全局變量和局部變量:

      • 全局變量:變量在整個頁面腳本中都是可見的,可以被自由訪問;其作用域為全局作用域。

      • 局部變量:變量僅能在聲明的函數(shù)內(nèi)部可見,函數(shù)外是不允許訪問的;其作用域為局部作用域。

      示例1

      下面示例演示了全局變量和局部變量的關(guān)系。

      var a = 1;  //聲明并初始化全局變量 function f(){  //聲明函數(shù)     document.write(a);  //顯示undefined     var a = 2;  //聲明并初始化局部變量     document.write(a);  //顯示 2 } f(); //調(diào)用函數(shù)

      由于在函數(shù)內(nèi)部聲明了一個同名局部變量 a,所以在預(yù)編譯期,JavaScript 使用該變量覆蓋掉全局變量在函數(shù)內(nèi)部的影響。而在執(zhí)行初期,局部變量 a 未賦值,所以在函數(shù)內(nèi)第 1 行代碼讀取局部變量 a 的值也就是 undefined 了。當執(zhí)行到函數(shù)第 2 行代碼時,為局部變量賦值 2,所以在第 3 行中就顯示為 2。

      示例2

      下面示例演示了如果不顯式聲明局部變量所帶來的后果。

      var jQuery = 1; (function () {     jQuery = window.jQuery = window.$ = function(){}; })() document.write(jQuery);  //顯示函數(shù)代碼:function(){}

      因此,在函數(shù)體內(nèi)使用全局變量是一種危險的行為。為了避免此類問題,應(yīng)該養(yǎng)成在函數(shù)體內(nèi)使用 var 語句顯式聲明局部變量的習(xí)慣。

      【推薦學(xué)習(xí):javascript高級教程】

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號