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)。
posted @ 2021-04-07 15:29  小兔儿_乖乖  阅读(48)  评论(0)    收藏  举报