最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中錯誤使用var造成undefined

 更新時間:2016年03月31日 16:02:04   作者:MingChaoSun  
這篇文章主要介紹了javascript中錯誤使用var造成undefined的原因,實例分析了錯誤使用var造成undefined的過程,感興趣的小伙伴們可以參考一下

在javascript中根據(jù)變量作用的范圍不同分為局部變量和全局變量,直接定義的變量是全局變量,全局變量可以被所有的腳本訪問;在函數(shù)中定義的變量是局部變量,局部變量只在函數(shù)內(nèi)有效。
如果全局變量和局部變量使用相同的變量名,則局部變量將會覆蓋全局變量。
例子代碼:

<!DOCTYPE html> 
<html> 
  <head> 
    <meta charset="utf-8"> 
    <title>js中全局變量與局部變量</title> 
  </head> 
  <body> 
    <script type="text/javascript"> 
      var a = "全局變量"; 
      function test1() 
      { 
        var a = "局部變量"; 
         
        alert(a); 
      } 
       
      function test2() 
      { 
        alert(a); 
         
        var a = "局部變量"; 
         
        alert(a); 
      } 
       
      function test3() 
      { 
        alert(a); 
         
        a = "局部變量"; 
         
        alert(a); 
      } 
    </script> 
     
    <input type="button" value="test1" onclick="test1()"/> 
    <input type="button" value="test2" onclick="test2()"/> 
    <input type="button" value="test3" onclick="test3()"/> 
 
  </body> 
</html> 

運行的結(jié)果是這樣的:
點擊test1 ,彈出局部變量。
點擊test2,彈出undefined,再彈出局部變量
 
點擊test3,彈出全局變量,再彈出局部變量

這就是使用var和不使用的區(qū)別所在:
如果使用var,那么程序會強制定義一個新變量。
如果沒有使用var,系統(tǒng)會優(yōu)先在當(dāng)前上下文中搜索是否存在該變量,只有在不存在的前提下才會重新定義一個新變量。

test3中,使用的變量a均為全局變量,第一次直接輸出了全局變量,第二次是直接為全局變量賦值之后使用。
test1和test2中都存在在function中使用var定義同名新變量,會導(dǎo)致函數(shù)中的變量覆蓋掉全局變量。所以在test2中:第一次輸出的a是已經(jīng)被覆蓋了的局部變量a,但是沒有給予初值,所以會出現(xiàn)undefined這個結(jié)果。這樣使用變量實際上是錯誤的,大家應(yīng)該避免。

相關(guān)文章

  • JS 實現(xiàn)請求調(diào)度器

    JS 實現(xiàn)請求調(diào)度器

    這篇文章主要介紹了JS 實現(xiàn)請求調(diào)度器的方法,幫助大家更好的理解和學(xué)習(xí)使用js,感興趣的朋友可以了解下
    2021-03-03
  • JavaScript實現(xiàn)的簡單冪函數(shù)實例

    JavaScript實現(xiàn)的簡單冪函數(shù)實例

    這篇文章主要介紹了JavaScript實現(xiàn)的簡單冪函數(shù),實例分析了javascript實現(xiàn)冪運算的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 微信小程序?qū)崿F(xiàn)驗證碼倒計時效果

    微信小程序?qū)崿F(xiàn)驗證碼倒計時效果

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)驗證碼倒計時效果,手機登錄、填手機號獲取驗證碼,倒計時后重新獲取效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 詳解javascript表單的Ajax提交插件的使用

    詳解javascript表單的Ajax提交插件的使用

    本文主要介紹了javascript表單的Ajax提交插件的使用,具有一定的參考價值。下面跟著小編一起來看下吧
    2016-12-12
  • js限制文本框只能輸入中文的方法

    js限制文本框只能輸入中文的方法

    這篇文章主要介紹了js限制文本框只能輸入中文的方法,涉及javascript正則匹配及鼠標事件的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下
    2015-08-08
  • 微信小程序開發(fā)中var that =this的用法詳解

    微信小程序開發(fā)中var that =this的用法詳解

    這篇文章主要介紹了微信小程序開發(fā)中var that =this的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 微信小程序單選框組應(yīng)用詳解

    微信小程序單選框組應(yīng)用詳解

    這篇文章主要為大家詳細介紹了微信小程序單選框組應(yīng)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • js 限制數(shù)字 js限制輸入實現(xiàn)代碼

    js 限制數(shù)字 js限制輸入實現(xiàn)代碼

    在工作中經(jīng)常會遇到j(luò)s限制輸入方面的要求,本文將詳細介紹其實現(xiàn)原理,需要的朋友可以參考下
    2012-12-12
  • JavaScript如何對圖片進行黑白化

    JavaScript如何對圖片進行黑白化

    這篇文章主要介紹了JS對圖片進行黑白化的實現(xiàn)代碼,需要的朋友可以參考下
    2018-04-04
  • javascript實現(xiàn)表格排序 編輯 拖拽 縮放

    javascript實現(xiàn)表格排序 編輯 拖拽 縮放

    這篇文章主要介紹了javascript實現(xiàn)表格排序 編輯 拖拽 縮放的方法,效果非常不錯,只是兼容性還有些問題,有待優(yōu)化。
    2015-01-01

最新評論

枞阳县| 武邑县| 湾仔区| 曲阜市| 甘南县| 平南县| 邻水| 阳原县| 旌德县| 普兰县| 剑河县| 易门县| 临泽县| 石景山区| 新兴县| 即墨市| 蓝山县| 缙云县| 乾安县| 乌拉特中旗| 灵台县| 镇远县| 巴南区| 化州市| 安庆市| 龙井市| 甘德县| 蒲江县| 阜新| 平凉市| 广东省| 比如县| 仙桃市| 仁怀市| 安达市| 且末县| 武宁县| 孝昌县| 平山县| 韶关市| 宜兰县|