1 this是什么?
- 任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是window
- 所有函数内部都有一个变量this
- 它的值是
调用函数的当前对象
2 如何确定this的值?
<script>
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");
const p = new Person("yello");
p.getColor();
const obj = {};
p.setColor.call(obj, "black");
const test = p.setColor;
test();
function fun1() {
function fun2() {
console.log(this);
}
fun2();
}
fun1();
</script>