this

Posted 阿奇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this相关的知识,希望对你有一定的参考价值。

(1) /*通过this传递了对象的引用*/
function identify() {
console.log(this); //this指向不是window 而是call改变指向的对象
return this.name.toUpperCase();

}
function speak() {
var greeting =‘hello i am‘+identify.call(this);
return greeting;

}
var you={
name:‘zhangsan‘
};
let me={
name:‘hxq‘
};
// console.log(identify.call(me));
// console.log(identify.call(me)); //HXQ
// console.log(identify.call(you)); //ZHANGSAN

console.log(speak.call(me)) //HXQ


2))
!(function () {
/*误解:this指向函数本身*/
function fn(n) {
console.log(n);
this.count++;//NAN
}
fn.count=0;


var i;
for (i=0;i<10;i++){
if(i>5){
fn(i);
}
}
console.log(fn.count);//o
})()

以上是关于this的主要内容,如果未能解决你的问题,请参考以下文章

前端面试-闭包和作用域

请求拦截 XMLHttpRequest和fetch

构造函数

Vue中的$set的使用

this与super

java-this使用