手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript全局变量var与不var的区别深入解析
Javascript全局变量var与不var的区别深入解析
摘要:相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命...

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

复制代码 代码如下:

<script>

var a = 1;

b = 2;

window.c = 3;

</script>

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

var与不var有两个区别:

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

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

复制代码 代码如下:

<script>

alert(a);

var a=1;

</script>

复制代码 代码如下:

<script>

alert(a);//error, a undefined

a=1;

</script>

【Javascript全局变量var与不var的区别深入解析】相关文章:

javascript获取select值的方法分析

javascript实现带下拉子菜单的导航菜单效果

javascript带回调函数的异步脚本载入方法实例分析

Javascript实现div的toggle效果实例分析

JavaScript正则表达式中的ignoreCase属性使用详解

JavaScript中的this,call,apply使用及区别详解

javascript嵌套函数和在函数内调用外部函数的区别分析

JavaScript中的条件判断语句使用详解

javascript实现动态改变层大小的方法

javascript实现简单的进度条

精品推荐
分类导航