1.函数内this的指向
这些this的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this的指向不同,一般指向我们的调用者。
调用方式 | this指向 |
---|---|
普通函数调用 | window |
构造函数调用 | 实例对象,原型里面的方法也指向实例对象 |
对象方法调用 | 该方法所属对象 |
事件绑定方法 | 绑定事件对象 |
定时器函数 | window |
立即执行函数 | window |
<body>
<button>点击</button>
<script>
// 1.普通函数调用
function fn() {
console.log('普通函数' + this);//指向window
}
fn();
// 2.构造函数调用
function Person(name, age) {
this.name = name;
this.age = age;
console.log('构造函数' + this);//构造函数指向实例对象xy
}
Person.prototype.eat = function () {
console.log('原型对象内方法' + this);//原型对象里方法也指向实例对象xy
};
var xy =