首页 > Windows开发 > 详细

window作用域下,a = 1和var a = 1"

时间:2015-09-23 16:38:10      阅读:280      评论:0      收藏:0      [点我收藏+]

a = 1相当于window.a = 1,是动态地为window添加一个成员; 
var a = 1是在当前作用域(也就是window)下声明一个a,这个声明是在整个作用域内都有效的。 

换句话说,其实区别就在于var a = 1比a = 1多了一个声明的行为。

 

var a = 1

声明的话:

console.log(a);----undefined
var a=1;------已经声明,但是顺序问题 

a=1::

例子:

console.log(a);----a is not defined
a=1;

但是区别于函数定义:

 对于函数声明:

a()

function a(){

}

js解析器会优先读取,确保在所有代码执行之前声明已经被解析,

而函数表达式:

a();

var a = function(){

}同定义其它基本类型的变量一样:a此时处于undefined,所以a()会报错,这个时候与顺序有关

window作用域下,a = 1和var a = 1"

原文:http://www.cnblogs.com/qianduanxiaocaij/p/4832369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!