Javascript 具有属性的构造函数

Javascript 具有属性的构造函数,javascript,Javascript,我对javascript构造函数协议有疑问。所以,如果我有这样的东西: a = function (name){this.name = name}; a['b'] = function (age){this.age = age}; c = new a('John'); c.a['b'](30); 这样行吗?如果是的话,c对象如何找到a['b']函数?它是否通过其proto属性到达构造函数?构造函数是否在新创建的对象上设置b属性 这样行吗 否,它在最后一行失败并出现错误。c对象没有a属性: a

我对javascript构造函数协议有疑问。所以,如果我有这样的东西:

a = function (name){this.name = name};
a['b'] = function (age){this.age = age};
c = new a('John');
c.a['b'](30);
这样行吗?如果是的话,c对象如何找到a['b']函数?它是否通过其proto属性到达构造函数?构造函数是否在新创建的对象上设置b属性

这样行吗

否,它在最后一行失败并出现错误。
c
对象没有
a
属性:

a=function(name){this.name=name};
a['b']=函数(age){this.age=age};
c=新a(“约翰”);

c、 a['b'](30);//此处键入错误
确定语法是否有效的最简单方法是尝试一下,看看是否有语法错误。在您的情况下,
c
对象上不会有
a
属性。同样,您的其他问题也可以通过尝试代码来轻松回答。您尝试过了吗?因为它没有在
c
@Mike上定位
a
,所以语法很好;这里发生了一个运行时错误…
console.log(c)
->
{name:'John'}
@smarber,然而:
c.hasOwnProperty()
..
console.log
并不是任何东西的确凿证据。所以,new关键字创建一个新对象,将其proto属性设置为constructor原型,然后用这个新创建的对象执行构造函数?构造函数的属性(在本例中是函数a['b'])在哪里?我参加了一些javascript课程,在那里我们创建了自己的“jQuery”,在那里我运行了这些东西。。如果我的问题不够清楚,我很抱歉,因为我在javascript方面没有太多经验。@Danilo:“构造函数的属性(在本例中是函数a['b'])在哪里?”关于构造函数。他们根本不参与新对象(除了通过
构造函数
属性间接参与之外)。@Crowder好的,谢谢你的回答。。