gpt4 book ai didi

Javascript this 关键字和指向对象方法的变量

转载 作者:行者123 更新时间:2023-11-30 13:02:00 24 4
gpt4 key购买 nike

<分区>

我试图了解 this 关键字在此上下文中的工作原理。

function Person(name) {
this.name = name;
this.sayName = function() {
alert('My name is ' + this.name);
};
}


var p = new Person('Smith');
p.sayName(); // 'My name is Smith'

var q = p;

q.sayName(); // 'My name is Smith'

q = p.sayName;

q(); // 'My name is' ???

为什么最后一个例子没有选择“Smith”?

是否因为 q 只是指向一个函数(即方法所属的对象在此上下文中不被识别)?由于 q 在全局空间中,this 在函数内是全局的(即 sayName() 的调用者是全局空间或窗口)?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com