最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

深入理解JS中的变量及作用域、undefined与null_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:20:27
文档

深入理解JS中的变量及作用域、undefined与null_javascript技巧

深入理解JS中的变量及作用域、undefined与null_javascript技巧:Situation One 代码如下: var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量 function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到Situ
推荐度:
导读深入理解JS中的变量及作用域、undefined与null_javascript技巧:Situation One 代码如下: var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量 function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到Situ


Situation One
代码如下:
输出100
  alert(x); //报错,因为x是局部变量,访问不到


Situation Two
代码如下:
输出101
  }
  alert(y); //也输出101,在方法内部,不存在块级作用域,在C#中就不可以了!!!

  for(var i=0;i<2;i++){
    alert(i)
  } //在for循环里面定义的变量是块级作用域
  alert(i); //因为i是局部变量,所以输出2

}
sayHello();


注:变量使用前可以不用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=10
var yy='10';

if(xx==yy){

  alert('相等');
}

else{

  alert('不等');
}

输出相等,如果换成===,则输出不等

Example3:
代码如下:
var n='10';
switch(n){
  case 10:

    alert('数字');
  break;

  case '10':

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

输出 字符串
switch中的判断要考虑类型

总结:if中的判断是判断数值,不考虑类型

文档

深入理解JS中的变量及作用域、undefined与null_javascript技巧

深入理解JS中的变量及作用域、undefined与null_javascript技巧:Situation One 代码如下: var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量 function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到Situ
推荐度:
标签: js javascript null
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top