【发布时间】:2016-07-15 11:38:15
【问题描述】:
假设我有一个函数 - 对象构造函数:
var constructor = function(name, surname, town){
return {
Name: name,
Surname: surname,
Town: town
}
};
现在我可以像这样创建一个新的 obj:
var peter = constructor("Peter", "Jameson", "London");
我可以使用这样的点符号向我的新对象peter 添加新属性:
peter.phoneNumber = 856687;
我的问题是:当构造函数/函数中的对象没有 var 时,是否可以使用点/括号表示法向我的构造函数添加更多属性?
【问题讨论】:
-
不清楚你在问什么。你的意思是修改
constructor的代码,还是在运行时做点什么? -
仅供参考:
species未传递给函数。是的,请澄清你的问题。向我们展示您想要实现什么,您想如何使用单点/括号符号 -
我想使用点符号(如果可能的话)修改构造函数的代码,例如我想为我的构造函数添加更多属性。如果代码是这样的: 'code' var constructor = function(name, surname, town){ var person = { Name: name, Surname: species, Town: town };返回人}; 'code' 那么我想我可以像这样修改我的构造函数: {constructor.person.phoneNumber = 554457;但在我原来的代码构造函数里面没有 var 所以我不能标记 obj
-
嗯,不;如果你在构造函数中有一个
var person,你也不能做constructor.person...。为什么要在 constructor 上执行此操作,而您应该将电话号码添加到 instance 似乎很明显?! -
顺便说一下,从术语上讲,你的函数更像是一个 factory 而不是 constructor - 通常“constructor”这个词应用于旨在使用
new调用。
标签: javascript function object