国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

JS變量提升原理與用法實例淺析

瀏覽:93日期:2024-05-07 16:03:53

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

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

簡單來說變量提升就是 JS會把var變量的聲明自動提升到作用域的頂部,即使你不想這樣

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

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

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

undefined局部變量

第一個輸出并沒有輸出全局變量a而是undefined ,這就是變量提升導致的

上例等同與下例:

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

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

變量聲明會自動提升到作用域的頂部, 即使該語句并沒執(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();

那么怎么解決這個問題呢?

用let變量!let變量執(zhí)行到定義部分才會裝載,具體用法請自行查詢!

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

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

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

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 无棣县| 平顶山市| 随州市| 乐业县| 罗定市| 治县。| 壶关县| 垫江县| 天全县| 合阳县| 昂仁县| 普安县| 秦安县| 祁连县| 萝北县| 敦煌市| 嘉峪关市| 衡山县| 油尖旺区| 巴里| 扬中市| 教育| 诸暨市| 措美县| 洮南市| 兰考县| 凌云县| 达州市| 大关县| 谢通门县| 保靖县| 防城港市| 固始县| 江阴市| 霍林郭勒市| 寻乌县| 福泉市| 德兴市| 津南区| 奇台县| 满洲里市|