568数据 568数据


Javascript全局变量var与不var的区别深入解析

网络编程 Javascript全局变量var与不var的区别深入解析 06-21

相信你对全局变量一定不陌生,在函数作用域里用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—window对象使用示例
window对象是JavaScript浏览器对象模型中的顶层对象,包含多个常用方法和属性:1打开新窗口window.open(pageURL,name,parameters)其中:pageURL为子窗口路径name为子

javascript如何创建表格(javascript绘制表格的二种方法)
1、inserRow()和insertCell()函数insertRow()函数可以带参数,形式如下:insertRow(index):index从0开始这个函数将新行添加到index的那一行前,比如insertRow(0),是将

深入理解JavaScript高级之词法作用域和作用域链
主要内容:1、分析JavaScript的词法作用域的含义2、解析变量的作用域链3、变量名提升时什么最近在传智播客讲解JavaScript的课程,有不少朋友觉得JavaScrip


编辑:568数据

标签:作用,对象,全局变量,函数,属性