在JS定义对象或类,一个是VAR定义的成员,一个是THIS定义的成员变量,区别大吗

JavaScript016

在JS定义对象或类,一个是VAR定义的成员,一个是THIS定义的成员变量,区别大吗,第1张

js中let和var定义变量的区别,主要体现在作用于的不同。

var定义的变量是全局变量或者函数变量。

let定义的变量是块级的变量。

例如:

while(1){

let let1 = 2

var var1 = 2

}

alert(let1) //不可访问

alert(var1) //可以访问

也就是说,let只对它所在的最内侧块内有效,而var的范围至少是一个函数之内。

问题一:

不知道楼主有没有接触过jquery jquery里边有一个特别典型的例子能说明用_this的作用

$("#btn").click(function(){

var _this = this//这里this和_this都代表了"#btn"这个对象

$(".tr").each(function(){

this//在这里this代表的是每个遍历到的".tr"对象

_this//仍代表"#btn"对象

})

})

这种情况就是在一个代码片段里this有可能代表不同的对象,而编码者希望_this代表最初的对象

问题2:

其实并没有全部使用_this

但是据我所看,应该没有任何区别的,楼主的代码里用_this可能只是为了编码规范吧