请问关于this的指向
来源:7-3 新的方法
1LBY1
2020-04-30 18:24:14
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var obj = {
birth: 1990,
getAge: function () {
var b = this.birth; // 1990
var fn = function () {
return new Date().getFullYear() - this.birth; // this指向window或undefined
};
return fn();
}
};
console.log(obj.getAge())
</script>
</body>
</html>
老师第二个this.birth为什么指向的是window或undefined而不是getage
1回答
同学你好, this最终指向调用它的对象. 同学代码中的写法,相当于全局中调用了fn方法,所以this指向window.如下:
同学可以直接返回fn, 在外面使用obj对象调用,此时的this就是指向getAge了,如下:
同学可以测试理解下,祝学习愉快~
相似问题