共计 577 个字符,预计需要花费 2 分钟才能阅读完成。
this
什么是 this
- 任何函数实质上都是通过某个对象来调用的, 如果没有间接指定就是 window
- 所有函数外部都有一个变量 this
- 它的值是调用函数的以后对象
如何确定 this 的值
- test():window
- p.test():p
- new test(): 新创建的对象
- p.call(obj):obj
function Person(color){console.log(this) | |
this.color = color; | |
this.getColor = function(){console.log(this) | |
return this.color; | |
}; | |
this.setColor = function (color){console.log(this) | |
this.color = color | |
}; | |
} | |
Person("red"); //this 是谁 window | |
var p = new Person("yello"); //this 是谁 p | |
p.getColor(); //this 是谁? p | |
var obj = {}; | |
p.setColor.call(obj,"black"); //this 是谁? obj | |
var test = p.setColor; | |
test(); //this 是谁 window | |
function fun1(){function fun2(){console.log(this); | |
} | |
fun2(); //this 是谁? window} | |
fun1(); |
正文完
发表至: javascript
2021-04-10