最新文章专题视频专题问答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
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript全局变量var与不var的区别深入解析_基础知识

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

Javascript全局变量var与不var的区别深入解析_基础知识

Javascript全局变量var与不var的区别深入解析_基础知识:相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名: 代码如下:var a = 1;b = 2;window.c = 3;对于b=2这种方式, 它其实和c是一样的,在执行这个赋值语句的时
推荐度:
导读Javascript全局变量var与不var的区别深入解析_基础知识:相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名: 代码如下:var a = 1;b = 2;window.c = 3;对于b=2这种方式, 它其实和c是一样的,在执行这个赋值语句的时


相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名:
代码如下:

var a = 1;
b = 2;
window.c = 3;


对于b=2这种方式, 它其实和c是一样的,在执行这个赋值语句的时候,会沿着作用域链寻找名字叫做b的变量,一直找到作用域链的顶端还没有找到,于是给window添加一个属性b然后赋值。

var与不var有两个区别:

1 var的全局变量不能被删除,因为delete智能删除对象的可删除的属性,而通过var 定义的全局属性会被标明不可删除。需要说明的是,delete不成功并不会抛错,delete的返回值是true|false。

2 var定义的全局变量会被提升,而不用var定义的全局变量不会被提升。可以看下面程序的执行结果:
代码如下:

alert(a);
var a=1;


代码如下:

alert(a);//error, a undefined
a=1;

文档

Javascript全局变量var与不var的区别深入解析_基础知识

Javascript全局变量var与不var的区别深入解析_基础知识:相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名: 代码如下:var a = 1;b = 2;window.c = 3;对于b=2这种方式, 它其实和c是一样的,在执行这个赋值语句的时
推荐度:
标签: js 的区别 javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top