Node.js 将赋值函数作为属性添加到NodeJs中的对象
为了好玩和探索nodeJS,我制作了一个对象Node.js 将赋值函数作为属性添加到NodeJs中的对象,node.js,function,variables,Node.js,Function,Variables,为了好玩和探索nodeJS,我制作了一个对象 var f15c = { fuel : 10000, IRST: true, AESA: true, speed: 2500, Ammo: { AMRAAM: 6, Python5: 2, Delilah: 3, }, tailnumber : the question begins here. } 当我想添加尾号时,问题出现了。尾号对于每个飞机都不相同,但应该分配给该飞机。 方法是什么 var f15c = { ...
var f15c = {
fuel : 10000,
IRST: true,
AESA: true,
speed: 2500,
Ammo:
{
AMRAAM: 6,
Python5: 2,
Delilah: 3,
},
tailnumber : the question begins here.
}
当我想添加尾号时,问题出现了。尾号对于每个飞机都不相同,但应该分配给该飞机。
方法是什么
var f15c = {
...
tailnumber = function (tn){"whats should i add here?"}
}
或
还是必须将整个F15c作为一个函数
var f15c = function(tn) {
...
tailnumber = tn;
但是我不能把整个变量设置得很复杂
或者我做得不对,应该将变量引用为单独的F15,并使用不同的函数来创建它?
但是,如何使该字段处于未分配状态并等待分配(然后保存分配的编号)
如果您能提供一些提示,我们将不胜感激。秘诀是使用
此
引用自己对象的属性
var f15c={
...
尾号:空,
setTailNumber:功能(tn)
{
这个。尾号=tn;
}
}
然后:
f15c.setTailNumber(1234);
控制台日志(f15c.尾号)代码>您的意思是要为属性设置值吗
var f15c={
_尾号:0,
设置尾号(新尾号){
此._tailnumber=newtailnumber;
},
获取尾号(){
把这个还给我
}
};
f15c.tailnumber=“304”;
控制台日志(f15c.尾号);
控制台日志(f15c)代码>你到底想做什么?这是一个比“如何使用函数”更重要的问题。对于您正在做的事情,似乎定义类并将tailnumber传递给构造函数是更好的选择。您应该接受Jelmer下面的响应,因为它是完整和优雅的。只要记住使用这个
的概念:它代表调用对象。使用设置
和获取
的好处。不过,完整的解决方案应该包含一个类:f15c isa plain(我猜),并且f15c的实例有一个特定的尾号。正确。如果对象被重用,人们可能会认为只应用了新的集合,而所有引用都会受到影响。但是我们深入研究:-)这有助于您获取tailnumber(){返回此。_tailnumber}而不是调用f15c.tailnumber吗?另外,我运行代码片段,不知道为什么它会返回到console.log(f15c);这个答复{u tailnumber:“304”,“tailnumber:“304”}?在我的例子中,我接收console.log(f15c);控制台日志(f15c.尾号);控制台:对象{fuel:10000,IRST:true,AESA:true,speed:2500,Ammo:Object,}123这有助于您获取tailnumber(){返回这个。\ u tailnumber}而不是调用f15c.tailnumber?---通过在同一属性名称上使用set
和get
,您就有了真正的set/get行为:f15c.tailnumber(1)
设置数字并f15c.tailnumber
为您获取它。然后,您必须将tailnumber的实际值存储到其他地方。使用_tailnumber很好,因为为了简单起见,它保留了名称。
var f15c = function(tn) {
...
tailnumber = tn;