关于函数中的this指向问题
前言
函数在执行时,会在函数体内部自动生成一个this指针。谁直接调用产生这个this指针的函数,this就指向谁。
提示:以下是本篇文章正文内容,下面案例可供参考
一、普通函数中this指向
全局函数的this是指向window的
代码如下(示例):
<script>
var a=10;
function ld(){
var a=20;
console.log(this); //window
console.log(this.a); //10
console.log(a); //20
console.log(this.a+a); //30
}
ld();
window.ld();
</script>
浏览器运行结果如下:
二、对象里面的this指向
函数作为对象的属性去调用
代码如下(示例):
<script>
var obj = {
name : "ld",
age : 21,
work : function() {
console.log("五一假期快结束了,啊好难过");
console.log(this);
}
}
obj.work()
</script>
浏览器运行结果如下:
结论:通过对象调用它里面的方法,该方法的this指向当前的对象
三、函数表达式中的this指向
函数表达式中的this指向window
代码如下(示例):
<script>
var a=10;
var