gpt4 book ai didi

javascript - javascript函数驻留在哪里以及它的值是什么

转载 作者:行者123 更新时间:2023-11-28 19:45:33 25 4
gpt4 key购买 nike

var test = (function(){ 

this.message = function(){
alert('hi');
};
})();

我有 2 个问题

  1. 上面的函数去哪里了?它会以类名 test 进入 dom 吗?
  2. 如何每次创建一个新对象并调用函数。

我想要做的是创建一个类似数据结构的类,使用模块化javascript创建对象。我已经尝试过上面的代码,但是,我觉得我在窗口对象中而不是整个类中获得了消息函数。

最佳答案

让我们将您的代码重写为以下大致等效内容:

var test;

function foobar()
{
this.message = function() {
alert('hi');
}
}

foobar();

foobar 函数表示立即调用的匿名函数。

在函数内部,this 将引用 window(在浏览器中),因此它实际上将 message 函数添加到 window ,实现以下目标:

window.message = function() {
alert('hi');
};

但是,如果您想创建对象,则需要使用new,例如:

function test()
{
this.message = function() {
alert('hi');
};
}

var x = new test();
x.message(); // alerts hi

正如评论中 NULL 提到的,当你的函数要与 new 一起使用时,建议使用 Title Casing,即 function Test() { ... }.

关于javascript - javascript函数驻留在哪里以及它的值是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24341432/

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