首页 > 其他 > 详细

var与this定义变量的区别以及疑惑

时间:2017-09-22 11:14:50      阅读:228      评论:0      收藏:0      [点我收藏+]

我们知道: var可以定义一个局部变量,当然如果var定义在最外层的话,就是全局的局部变量,也就算是全局变量了。 而this关键字定义的变量准确的说应该算是成员变量。即定义的是调用对象的成员变量。 另外在“类(构造函数)”中,我们通常也会用var定义私有属性,而this定义公共属性。 以上这些是大家都知道的,若不知道看了就大概知道的。但我今天遇到了一个疑惑,恳请社区高手指点。是这样的:

//打开浏览器控制台执行一下命令 //定义了一个全局变量 var wahaha = “娃哈哈”;//这里双引号改成英文双引号  //输出“娃哈哈” console.log(wahaha);  //输出“娃哈哈”,我们知道这里的this指向的是window,即之前的var定义已经把wahaha变量定义成了window的成员变量 console.log(this.wahaha);

上面代码两条控制台日志语句都输出了“娃哈哈”的结果,然而如果这样

//定义一个类 function ClassA(){ //定义一个私有属性 var wahaha = “娃哈哈”;//这里双引号改成英文双引号 //输出“娃哈哈”;   console.log(wahaha); //输出undefined   console.log(this.wahaha); }  var a = new ClassA();

 

链接 

var与this定义变量的区别以及疑惑

原文:http://www.cnblogs.com/wxmdevelop/p/7573654.html

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