gpt4 book ai didi

Javascript:全局上下文和函数上下文声明

转载 作者:行者123 更新时间:2023-12-02 13:52:03 25 4
gpt4 key购买 nike

我在玩游戏时注意到一些事情,这引发了一个简单的问题。

当代码在全局/窗口上下文中执行时,任何函数声明都会作为方法添加到窗口对象中。

但是当我在另一个对象的上下文中时,编写函数声明不会将该方法添加到我的对象方法中。

function functionInGlobalCtx() { // This will be added as a function to the window object
// code...
}

var myObject = {};

myObject.myObjectFunction = function () {

var $this = this; // The context here is the 'myObject' object

function functionHopefullyInMyObjectCtx() {
// code...
}
}

myObject.myObjectFunction();

为什么函数声明作为窗口对象的一部分存在,而不是对象的一部分?

这只是“JavaScript 的工作原理”(特殊规则适用于全局上下文?)还是我遗漏了什么?

谢谢。

最佳答案

其实可以理解。功能就是对象。 Myobject 和 myobjectfunction 是两个不同的对象。 “this”和函数本身也是如此。

在您的示例中,您在 myobjfunction 中而不是 myobject 中定义了 Hopefulfunction。

关于Javascript:全局上下文和函数上下文声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40949285/

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