gpt4 book ai didi

javascript - 关于javascript中的 "this"

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:24 26 4
gpt4 key购买 nike

var name = "the Window.";
var object = {
name:"Object",
getName: function(){
return this.name;
}
}
(object.getName)(); //"Object"
(object.getName = object.getName)(); //"the Window"

我运行这段代码,它返回“窗口”,而我认为它应该是“对象”。请告诉我为什么?谢谢。

最佳答案

var name = "the Window.";

全局声明创建全局/窗口对象的属性。这相当于(或多或少):

var global = this;
global.name = 'the Window';

表达式:

(object.getName = object.getName)

返回object.getName 引用的函数。以下空参数列表(即 ())导致它被调用。

由于 this 值不是由调用设置的,它默认为 global/window 对象,所以函数返回 global.name 的值。

关于javascript - 关于javascript中的 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16097369/

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