亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

深入理解JS中的變量及作用域、undefined與null

2019-11-20 21:00:45
字體:
來源:轉載
供稿:網友

1、Javascript變量作用域

javascript中,變量主要分為局部變量和全局變量兩種,對應的作用域也是局部作用域和全局作用域。

1 局部變量和作用域
局部變量一般在函數體內部聲明使用:

function func(){  var i=12;//局部變量  ......}

局部變量的作用域在聲明這個變量的函數體范圍內使用。
局部變量的聲明周期從函數被調用執行開始初始化,在函數調用執行完畢之后被銷毀。

2、全局變量和作用域

全局變量一般在函數體外面聲明:

var i=12;//全局變量function func(){  ......}

還有一種沒有聲明而直接使用的變量,默認為全局變量:

function func(){  i=12;//沒有被聲明(使用var 關鍵字聲明),默認為全局變量}

全局變量在當前頁面中所有的腳本和方法中都可以使用,作用域為當前頁面腳本中。
全局變量的聲明周期在變量被初始化時被創建,在當前頁面關閉的時候被銷毀。

2、typeof關鍵字

typeof關鍵字主要用來檢測變量的數據類型,JavaScript中主要的數據類型有string、number、Boolean、object等

console.log(typeof 'str');//stringconsole.log(typeof 23);//numberconsole.log(typeof false);//booleanconsole.log(typeof [1,3,12]);//objectconsole.log(typeof {name:'jack',age:12});//objectconsole.log(typeof new Date());//object

注意: js中的數組、json對象都是object數據類型的

3、null和undefined

null和undefined在JavaScript中經常出現,表示一個變量的值為空或者是一個變量未被定義。在表示值的時候,都可以表示為空值,但是在數據類型方面還是不一樣。

console.log(typeof null);//objectvar persion = null;console.log(persion);//nullconsole.log(typeof undefined);//undefinedvar persion2;console.log(persion2);//undefined

null的數據類型為object,undefined的數據類型就是undefined。
變量聲明,值為null,變量值為null;變量只聲明,沒有賦值,值為undefined。
再看一組對比:

console.log(null==undefined);//true 值相等console.log(null===undefined);//false  類型不相等

這就可以看出來,null和undefined的表示值的時候,都表示空;null的數據類型為object,undefined的數據類型就是undefined。只聲明而沒有初始化的值都是undefined。

下面是補充

Situation One

<script>  var i; //全局變量  //方法名是camel命名法  //方法里面的變量是局部變量  function sayHello(){  var x=100;  alert(x);  x++;  }  sayHello(); //輸出100  alert(x); //報錯,因為x是局部變量,訪問不到</script>

Situation Two

<script>function sayHello(){  var x=100;  if(x==100){    var y=x+1;    alert(y); //輸出101  }  alert(y); //也輸出101,在方法內部,不存在塊級作用域,在C#中就不可以了?。?!  for(var i=0;i<2;i++){    alert(i)  } //在for循環里面定義的變量是塊級作用域  alert(i); //因為i是局部變量,所以輸出2}sayHello();</script>

注:變量使用前可以不用var聲明,這樣的變量會被認為是“全局變量”,但很少這樣用

關于undefined與null

有以下幾種情況的,變量的值為undefined
1、變量定義,但沒有賦值,則變量的值為undefined
2、調用的方法沒有返回值,在返回的值為undefined
3、對象的屬性值不存在,則返回值為undefined,如:document.ddd

Example1:

var xx;var yy=null;if(xx==yy){  alert('相等');}else{  alert('不等');}

輸出結果為相等,因為在進行if判斷時,瀏覽器會對xx及yy進行值的判斷,因為兩者都沒有具體的值,認為他們都是false。
如果if判斷中換成===[全等于符號],則輸出不等!因為===表示要求xx及yy的數據類型和值都要相同才可以!
 
Example2:

var xx=10var yy='10';if(xx==yy){  alert('相等');}else{  alert('不等');}

輸出相等,如果換成===,則輸出不等

Example3:

var n='10';switch(n){  case 10:    alert('數字');  break;  case '10':    alert('字符串');  break;}

輸出 字符串
switch中的判斷要考慮類型

總結:if中的判斷是判斷數值,不考慮類型

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品无码久久久久久国产| 亚洲最大在线视频| 久久久国产精品视频| 欧美日韩亚洲系列| 国产精品久久久久秋霞鲁丝| 欧美激情一区二区三区高清视频| 精品视频一区在线视频| 日韩欧美国产网站| 亚洲国产精品免费| 日韩成人高清在线| 亚洲国产中文字幕在线观看| 欧美性69xxxx肥| 欧美国产日本在线| 91国偷自产一区二区三区的观看方式| 国产欧美日韩免费看aⅴ视频| 久久精品国亚洲| 日韩亚洲精品电影| 一区二区av在线| 精品国产区一区二区三区在线观看| 尤物九九久久国产精品的分类| 亲子乱一区二区三区电影| 欧美情侣性视频| 国产精品久久久久久亚洲影视| 亚洲精品久久久一区二区三区| 7m精品福利视频导航| 亚洲性生活视频在线观看| 久久影院在线观看| 亚洲国产精品推荐| 国产成人精品一区二区三区| 亚洲成人在线网| 日韩av免费在线| 奇米一区二区三区四区久久| 国产精品一二三在线| 北条麻妃在线一区二区| 国产成人综合精品在线| 亚洲一区二区久久久| 成人国产精品久久久| 国产成人精彩在线视频九色| 成人疯狂猛交xxx| 尤物精品国产第一福利三区| 久久青草精品视频免费观看| 国产综合福利在线| 欧美日韩ab片| 日韩暖暖在线视频| 欧美日韩精品二区| 国产精品美女呻吟| 日韩综合中文字幕| 久久亚洲综合国产精品99麻豆精品福利| 久久精品国产99国产精品澳门| 国产日韩欧美影视| 欧美黑人视频一区| 久久精品男人天堂| 亚洲专区中文字幕| 最近2019年好看中文字幕视频| 国产精品视频精品| 麻豆乱码国产一区二区三区| 亚洲人成电影网站色…| 欧美国产在线电影| 国产精品6699| 色中色综合影院手机版在线观看| 久久亚洲电影天堂| 日韩欧美中文在线| 国产91色在线|免| 亚洲欧美日韩视频一区| 欧美日产国产成人免费图片| 91免费精品国偷自产在线| 国产精品欧美日韩一区二区| 三级精品视频久久久久| 亚洲精品欧美日韩| 欧美日韩午夜激情| 久久视频精品在线| 亚洲欧美日韩高清| 欧美另类极品videosbestfree| 欧美激情伊人电影| 丁香五六月婷婷久久激情| 亚洲国产中文字幕久久网| 国产精品久久不能| 欧美福利视频在线| 久久影视三级福利片| 亚洲大胆人体视频| 亚洲黄色在线观看| 国产一区二区av| 91日本视频在线| 精品久久香蕉国产线看观看gif| 国产精品久久综合av爱欲tv| 俺去啦;欧美日韩| 日韩欧美在线国产| 欧美在线视频免费| 日韩免费在线视频| 欧美放荡办公室videos4k| 久久久久久久成人| 色小说视频一区| 久久久噜噜噜久久中文字免| 国产欧美日韩综合精品| 久久中国妇女中文字幕| 亚洲精品99久久久久中文字幕| 少妇久久久久久| 91精品视频网站| 国产精品日韩在线| 欧美日韩国产va另类| 国产91网红主播在线观看| 欧美猛交ⅹxxx乱大交视频| 91精品啪在线观看麻豆免费| 亚洲v日韩v综合v精品v| 日韩精品中文字幕久久臀| 久久大大胆人体| 18性欧美xxxⅹ性满足| 国产成人精品日本亚洲专区61| 亚洲丝袜一区在线| 国产91精品久| 亚洲一区二区三区xxx视频| 欧美日韩国产中文精品字幕自在自线| 久久免费视频网| 亚洲精品国产精品国产自| 欧美www视频在线观看| 国内自拍欧美激情| 亚洲www在线观看| 欧美性受xxxx白人性爽| 欧美日韩免费看| 亚洲综合中文字幕在线观看| 91免费看片网站| 日韩av在线影院| 日韩精品999| 91在线观看免费网站| 欧美午夜视频一区二区| 亚洲成人精品视频在线观看| 最近日韩中文字幕中文| 国产精品视频xxx| 精品国产欧美一区二区三区成人| 久久久国产影院| 91国在线精品国内播放| 欧美激情视频在线| 国产精品高清在线| 亚洲va欧美va在线观看| 992tv在线成人免费观看| 欧美裸身视频免费观看| 亚洲美女av在线播放| 精品久久久久久久大神国产| 久久久99久久精品女同性| 亚洲精品美女网站| 欧美电影免费观看电视剧大全| 国产精品美女www爽爽爽视频| 91高清视频免费观看| 色哟哟入口国产精品| 2019亚洲日韩新视频| 欧美日韩国产一区二区| 欧美一级黄色网| 久久久久久久一区二区| 亚洲欧美精品一区| 国产一区二区三区精品久久久| 免费97视频在线精品国自产拍| 亚洲一级片在线看| 国产最新精品视频| 最近中文字幕日韩精品| 日本中文字幕久久看| 亚洲最新视频在线| 97热精品视频官网| 成人有码视频在线播放| 中文字幕欧美专区| 91免费欧美精品| 国产精品美女久久久久久免费| 青青草精品毛片| 5566日本婷婷色中文字幕97| 国产精品第3页|