关于JavaScript中this指向问题
Posted 开到荼蘼223's
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JavaScript中this指向问题相关的知识,希望对你有一定的参考价值。
关于JS中this指针
解析器在调用函数时每次都会向函数内部传递进隐含参数,这个隐含的参数就是this,this指向得到是一个对象,这个对象称为函数执行的上下文对象。
根据函数的调用方式的不同this会指向不同的对象
1.以函数的形式调用时 this指向全局对象window
2.以方法(obj.sayName())的形式调用时 this就是调用方法的那个对象
3.构造函数内部的this指向新创建的对象
function fun(){
console.log(this.name);
}
window.name = 'Lisa';
fun();// Lisa
由上可以看出当用函数的形式调用时,this指向的是全局对象window,window可以省略
var obj = {
name:'孙悟空',
sayName:function(){
console.log(this.name);
}
}
obj.sayName();// 孙悟空
当以对象的方法调用时发现this指向的是调用方法的对象
function Person(name,age,gender){
// this就是per
this.name = name;
this.age = age;
this.gender = gender;
this.sayName = function(){
alert(this.name);
}
}
var per = new Person('孙悟空',19,'男');
console.log(per);
从控制台输出内容可以看出this指向的构造函数新创建的对象per,即构造函数的实例
以上是关于关于JavaScript中this指向问题的主要内容,如果未能解决你的问题,请参考以下文章