成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript入門教程(二):變量

baihe / 3538人閱讀

摘要:大家好,我從今天開(kāi)始就會(huì)正式講的語(yǔ)法方面。變量中的變量一般使用來(lái)聲明的不在本教程討論范圍內(nèi),可以用來(lái)定義任何種類的變量,如果只對(duì)變量進(jìn)行了定義而沒(méi)有賦值,這樣變量會(huì)默認(rèn)為。

大家好,我從今天開(kāi)始就會(huì)正式講javascript的語(yǔ)法方面。
變量

js中的變量一般使用var來(lái)聲明(es6的let不在本教程討論范圍內(nèi)),可以用來(lái)定義任何種類的變量,如果只對(duì)變量進(jìn)行了定義而沒(méi)有賦值,這樣變量會(huì)默認(rèn)為undefined。

var a=100; 
var b="hello,world";
var c=true;


變量提升
在js中,用var定義的變量會(huì)出現(xiàn)提升的效果,變量一般會(huì)提升到所在作用域的最頂部,簡(jiǎn)單來(lái)說(shuō)就是,如果變量在函數(shù)中,就會(huì)提升到函數(shù)最頂部,如果在全局作用域(window)中,就會(huì)提升到所有代碼的最頂部。
這里給一個(gè)例子:
 console.log(a);
 var a=100;
//輸出結(jié)果為undefined

這里實(shí)際上真正的代碼是:

var a;
console.log(a);
a=100;

因?yàn)閍提升到頂部后未被賦值,所以最后會(huì)輸出undefined,而且親測(cè)嚴(yán)格模式下變量提升不會(huì)受到影響。
(提升:在js中多次聲明一個(gè)變量,只有最后一次聲明有效)

沒(méi)有塊級(jí)作用域

任何一對(duì)花括號(hào)中的語(yǔ)句集都屬于一個(gè)塊,在這之中定義的所有變量在代碼塊外都是不可見(jiàn)的,我們稱之為塊級(jí)作用域
在java和c等語(yǔ)言中,塊級(jí)作用域的效果很明顯,比如下面這段代碼:

#include  
void main() 
{ 
int i=2; 
i--; 
if(i) 
{ 
int j=3; 
} 
printf("%d/n",j); 
} 

運(yùn)行這段代碼,會(huì)出現(xiàn)錯(cuò)誤??梢钥吹?,C語(yǔ)言擁有塊級(jí)作用域,因?yàn)閖是在if的語(yǔ)句塊中定義的,因此,它在塊外是無(wú)法訪問(wèn)的。

但是在js中就不是這樣了:

for(var i=0;i<3;i++){}
console.log(i); //輸出3

所以在js里面并沒(méi)有塊級(jí)作用域,它只有函數(shù)作用域,在函數(shù)內(nèi)部用var定義的變量不能被外部訪問(wèn)到,因?yàn)楹瘮?shù)調(diào)用結(jié)束后,變量會(huì)被自動(dòng)銷毀。

(提示:在函數(shù)內(nèi)部不用var直接聲明的變量會(huì)默認(rèn)為全局變量,比如:test=100;這個(gè)test在函數(shù)外部依然能被訪問(wèn)到,因?yàn)槟J(rèn)為全局變量,但是在嚴(yán)格模式下這樣聲明一個(gè)變量會(huì)出錯(cuò))

那么如何實(shí)現(xiàn)塊級(jí)作用域呢?
在js中有一種立即執(zhí)行的函數(shù),在里面定義的變量一般不會(huì)泄露到外界,由于這里還沒(méi)有講函數(shù),所以我只稍微提一下,以后再好好講。

我只是把js每個(gè)部分的重點(diǎn)理清一下,具體的還是需要大家自己去看,比如關(guān)鍵字,注釋,區(qū)分大小寫等等,這套教程只適合在零碎時(shí)間去看,如果大家能有所收獲,我就很滿足啦。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/80347.html

相關(guān)文章

  • javascript入門教程):變量

    摘要:大家好,我從今天開(kāi)始就會(huì)正式講的語(yǔ)法方面。變量中的變量一般使用來(lái)聲明的不在本教程討論范圍內(nèi),可以用來(lái)定義任何種類的變量,如果只對(duì)變量進(jìn)行了定義而沒(méi)有賦值,這樣變量會(huì)默認(rèn)為。 大家好,我從今天開(kāi)始就會(huì)正式講javascript的語(yǔ)法方面。變量 js中的變量一般使用var來(lái)聲明(es6的let不在本教程討論范圍內(nèi)),可以用來(lái)定義任何種類的變量,如果只對(duì)變量進(jìn)行了定義而沒(méi)有賦值,這樣變量會(huì)默...

    Muninn 評(píng)論0 收藏0
  • 帶你入門 JavaScript ES6 ()

    摘要:上一篇學(xué)習(xí)下一代語(yǔ)法一,我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明和語(yǔ)法新的字符串拼接語(yǔ)法模版字面量數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對(duì)象字面量簡(jiǎn)寫的相關(guān)知識(shí)。這便是擴(kuò)展運(yùn)算符的用途之一。 本文同步 帶你入門 JavaScript ES6 (二),轉(zhuǎn)載請(qǐng)注明出處。 上一篇學(xué)習(xí)下一代 JavaScript 語(yǔ)法: ES6 (一),我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明 let 和 const 語(yǔ)法、...

    chanthuang 評(píng)論0 收藏0
  • 【連載】前端個(gè)人文章整理-從基礎(chǔ)到入門

    摘要:個(gè)人前端文章整理從最開(kāi)始萌生寫文章的想法,到著手開(kāi)始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開(kāi)始萌生寫文章的想法,到著手...

    madthumb 評(píng)論0 收藏0
  • ES6入門筆記(

    摘要:入門筆記二對(duì)字符串操作的擴(kuò)展傳統(tǒng)上,只有方法,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中。返回布爾值,表示參數(shù)字符串是否在源字符串的頭部。用于頭部補(bǔ)全,用于尾部補(bǔ)全。模板字符串中嵌入變量,需要將變量名寫在之中。 ES6入門筆記(二) ES6對(duì)字符串操作的擴(kuò)展 傳統(tǒng)上,JavaScript只有indexOf方法,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中。ES6又提供了三種新方法...

    godlong_X 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<