码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-09-23 16:38:57      阅读:251      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!