gpt4 book ai didi

Javascript 创建对象结构

转载 作者:行者123 更新时间:2023-12-02 15:08:55 25 4
gpt4 key购买 nike

我曾经写过很多Javascript,现在我又重新开始写了,但似乎我已经失去了理智。我正在尝试使用函数创建一个对象,并且我正在按照我的在线搜索建议我应该做的方式进行操作。我创建这个例子是为了展示我尝试过的多种方法。

<script>
function a(){
function b(){};
this.c = function(){};
this.d = 0;
var e = function(){};
var f = 0;
}
a.g = function(){};
a.prototype.h = function(){};

var a2 = function(){
function b(){};
this.c = function(){};
this.d = 0;
var e = function(){};
var f = 0;
}
a2.g = function(){};
a2.prototype.h = function(){};
</script>

根据我的内存,我应该能够调用 a.b()a.c()a.d,对于 <强>a2。

但是,当我尝试给他们打电话时,却没有成功。当我在控制台中键入变量名称时,它甚至没有将它们显示为选项。不过我可以调用a.g()。我无法调用 a.h(),但我可以调用 a.prototype.h()

我在 Chrome 中尝试过这个,在 Firefox 和 Safari 中也尝试过一些东西。

据我从在线教程中得知,这并没有按照我期望的方式进行交互。

最佳答案

bef 是函数 a 范围内的变量。它们永远不会暴露在该函数之外。

cd 被分配, a 被调用时,无论 this 是。如果您调用new a(),那么返回的将是 a 的实例。

ga 直接的属性,因此您可以调用它。

h 位于原型(prototype)链上,因此它会像 cd 一样出现在 a 的实例上> 使用 new 创建。

关于Javascript 创建对象结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911672/

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