this指向
this的指向问题
1、全局作用域中的函数 this指向window
function aaa() {
console.log(this);
}
aaa()
2、对象内部的函数 this指向对象本身
var a = 222 var obj ={ a:2, fn:function(){ console.log(this.a); } }
obj.fn() //2
3、构造函数 this指向生成的实例
function Person(name,age) { this.name = name this.age = age }
var p1 = new Person('战三',111)
4、由apply call bind改造的函数,其this指向第一个参数
fn.apply(db,[a,b]) 后面参数需要为数组
fn.call(db,a,b) 后面参数为字符串
fn.bind(db,a,b)() 返回一个新函数 需要再次执行
5、箭头函数 箭头函数没有自己的this 看其外层是否有函数,如果有,外层函数的this就是内部箭头函数的this 如果没有 则this是window
$(this) 和 this 关键字在 jQuery 中有何不同
1.$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。
2.this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

浙公网安备 33010602011771号