首页 > 其他 > 详细

var

时间:2017-04-15 15:29:18      阅读:215      评论:0      收藏:0      [点我收藏+]

1:在全局作用域下,使用var定义的变量不可以delete,没有var 定义的变量可以delete.也就说明没有var定义的变量(全局)严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过delete删除,而变量不可以

1 b = 5;
2 var a = 4;
3 console.log(a);//4
4 console.log(b);//5
5 delete a;
6 delete b;
7 console.log(a);//4
8 console.log(b);//“ReferenceError:b is not defined”

2:在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了全局变量。

3:使用var 定义变量还会提升变量声明,即

1 function hh(){
2     console.log(a);
3     var a = ‘hello world‘;//使用var定义
4 }
5 hh()  ;//undefiend
1 function hh(){
2     console.log(a);
3     a = ‘hello world‘;//不使用var定义:
4 }
5 hh()    // ‘a is not defined‘

这就是使用var定义的变量的声明提前

4:在ES5的‘use strict‘模式下,如果变量没有使用var定义,就会报错.

 

var

原文:http://www.cnblogs.com/Hale-Proh/p/6714336.html

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