<script>
/*
1.this环境对象 : 谁‘调用’我,我就指向谁 (相当于中文‘我’,谁说出这个字,这个字就代表谁)
* 重点: 与函数声明无关,取决于函数调用
* (1)普通函数调用: 函数名() -> this指向window
* (2)对象方法调用: 对象名.方法名() -> this指向对象
* (3)构造函数调用: new 函数名() -> this指向new创建的实例对象
2.分析this指向心得 : this指向取决于函数调用,而函数有三种调用方式。所以this指向也会有三种情况
(1)优先用排除法分析, 如果有new关键字,则指向new创建的对象。 否则不是window就是对象
(2)如何判断this是window还是对象,就看调用是: 函数名() 还是 对象名.方法名()
*/
function fn(){
console.log( this )
}
//1.普通函数
fn()//window
let obj = {
name:'刘',
age:18,
eat:fn,
sayHi:function(){
function fn1(){
//这里this指向window, this指向取决于调用
console.log( this )//
}
fn1()
}
}
obj.sayHi()
//2.对象方法
obj.eat()
//3.构造函数
new fn()
</script>
this的三种指向
最新推荐文章于 2025-05-26 10:08:00 发布