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

資訊專欄INFORMATION COLUMN

javascript入門教程(二):變量

Muninn / 2243人閱讀

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

大家好,我從今天開始就會正式講javascript的語法方面。
變量

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

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


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

這里實際上真正的代碼是:

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

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

沒有塊級作用域

任何一對花括號中的語句集都屬于一個塊,在這之中定義的所有變量在代碼塊外都是不可見的,我們稱之為塊級作用域
在java和c等語言中,塊級作用域的效果很明顯,比如下面這段代碼:

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

運行這段代碼,會出現(xiàn)錯誤??梢钥吹剑珻語言擁有塊級作用域,因為j是在if的語句塊中定義的,因此,它在塊外是無法訪問的。

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

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

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

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

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

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

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

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

相關(guān)文章

  • javascript入門教程):變量

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

    baihe 評論0 收藏0
  • 帶你入門 JavaScript ES6 ()

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

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

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

    madthumb 評論0 收藏0
  • ES6入門筆記(

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

    godlong_X 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<