国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:02:04
字體:
供稿:網(wǎng)友
本篇文章主要是對JS中的變量及作用域、undefined與null進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

Situation One

復(fù)制代碼 代碼如下:


<script>
  var i; //全局變量
  //方法名是camel命名法
  //方法里面的變量是局部變量

  function sayHello(){
  var x=100;
  alert(x);
  x++;
  }
  sayHello(); //輸出100
  alert(x); //報(bào)錯(cuò),因?yàn)閤是局部變量,訪問不到
</script>


Situation Two

復(fù)制代碼 代碼如下:


<script>
function sayHello(){
  var x=100;
  if(x==100){
    var y=x+1;
    alert(y); //輸出101
  }
  alert(y); //也輸出101,在方法內(nèi)部,不存在塊級(jí)作用域,在C#中就不可以了!!!

  for(var i=0;i<2;i++){
    alert(i)
  } //在for循環(huán)里面定義的變量是塊級(jí)作用域
  alert(i); //因?yàn)閕是局部變量,所以輸出2

}
sayHello();
</script>


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

關(guān)于undefined與null

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

Example1:

復(fù)制代碼 代碼如下:


var xx;
var yy=null;

if(xx==yy){

  alert('相等');

}

else{

  alert('不等');
}


輸出結(jié)果為相等,因?yàn)樵谶M(jìn)行if判斷時(shí),瀏覽器會(huì)對xx及yy進(jìn)行值的判斷,因?yàn)閮烧叨紱]有具體的值,認(rèn)為他們都是false。
如果if判斷中換成===[全等于符號(hào)],則輸出不等!因?yàn)?==表示要求xx及yy的數(shù)據(jù)類型和值都要相同才可以!

Example2:

復(fù)制代碼 代碼如下:


var xx=10
var yy='10';

if(xx==yy){

  alert('相等');
}

else{

  alert('不等');
}


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

Example3:

復(fù)制代碼 代碼如下:


var n='10';
switch(n){
  case 10:

    alert('數(shù)字');
  break;

  case '10':

    alert('字符串');
  break;
}


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

總結(jié):if中的判斷是判斷數(shù)值,不考慮類型

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 高碑店市| 舟山市| 新巴尔虎左旗| 衡阳市| 深泽县| 临潭县| 杨浦区| 仙居县| 吴川市| 庆阳市| 阿坝| 沿河| 偃师市| 大足县| 顺义区| 新巴尔虎右旗| 东源县| 广州市| 静安区| 彭泽县| 靖远县| 博罗县| 德钦县| 额济纳旗| 庆阳市| 乌兰浩特市| 泾川县| 鹤壁市| 保康县| 枝江市| 南阳市| 温州市| 曲沃县| 门源| 万山特区| 县级市| 瓮安县| 滦南县| 甘肃省| 怀来县| 怀来县|