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

JS變量提升原理與用法實(shí)例淺析

 更新時(shí)間:2020年05月22日 10:43:45   作者:NO0b  
這篇文章主要介紹了JS變量提升,結(jié)合實(shí)例形式分析了JS變量提升基本概念、功能、原理、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了JS變量提升。分享給大家供大家參考,具體如下:

該篇介紹什么是變量提升,寫(xiě)給像我一樣的JS新手看的

簡(jiǎn)單來(lái)說(shuō)變量提升就是 JS會(huì)把var變量的聲明自動(dòng)提升到作用域的頂部,即使你不想這樣

一個(gè)例子: (局部變量與全局變量同名時(shí) , 局部變量覆蓋全局變量)

var a="全局變量";
function test()
{
  document.writeln(a);
  var a="局部變量";
  document.writeln(a);
}
test();

上例的兩個(gè)輸出結(jié)果是

undefined局部變量

第一個(gè)輸出并沒(méi)有輸出全局變量a而是undefined ,這就是變量提升導(dǎo)致的

上例等同與下例:

var a="全局變量";
function test()
{
  var a;
  document.writeln(a);
  a="局部變量";
  document.writeln(a);
}
test();

test函數(shù)內(nèi)即使局部變量a還沒(méi)定義,就已經(jīng)覆蓋了全局變量,可見(jiàn)其聲明已經(jīng)生效了,

變量聲明會(huì)自動(dòng)提升到作用域的頂部, 即使該語(yǔ)句并沒(méi)執(zhí)行

如下例:

var x=100;
var y=200;
function test()
{
  document.writeln(x);
  document.writeln(y);
  if(false)
  {
    var x=1;
  }
  return;
  var y=2;
}
test();

輸出結(jié)果:

undefinedundefined

等同如下形式:

var x=100;
var y=200;
function test()
{
  var x,y;
  document.writeln(x);
  document.writeln(y);
  if(false)
  {
    x=1;
  }
  return;
  y=2;
}
test();

那么怎么解決這個(gè)問(wèn)題呢?

用let變量!let變量執(zhí)行到定義部分才會(huì)裝載,具體用法請(qǐng)自行查詢(xún)!

感興趣的朋友可以使用在線(xiàn)HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

珠海市| 宜川县| 嘉荫县| 涿州市| 衡阳县| 随州市| 江门市| 政和县| 福鼎市| 普陀区| 沿河| 会昌县| 萍乡市| 东宁县| 潞城市| 澜沧| 务川| 灵山县| 靖宇县| 敦煌市| 平山县| 增城市| 兴化市| 阿拉善右旗| 岳阳市| 抚远县| 江口县| 吉林省| 达日县| 比如县| 宁明县| 塘沽区| 衡东县| 韩城市| 耒阳市| 同仁县| 平南县| 门头沟区| 龙胜| 凌云县| 贡嘎县|