6.JS中的this
谁调用函数,“this”就是谁:
function fun() {
console.log(this.name);
}
fun(); ➡ 以函数的形式调用时“this”为fun()上级Object“window对象”(window对象调用函数)
// 创建一个对象
var obj = {
name : "小武",
sayName: fun
};
obj.sayName(); 以obj对象方法的形式调用时“this”为sayName()上级Object“obj对象”(obj对象调用函数)
解析器在调用函数每次都会向函数内部传递进一个隐含的参数 “this”,“this”指向的是一个对象,这个对象我们称为函数执行的上下文对象,根据函数的调用方式的不同,“this”会指向不同的对象:
1.以函数的形式调用时,“this”永远都是“window”
2.以方法的形式调用时,“this”就是调用方法的那个对象