在Javascript中获取分配给扩展函数原型的数组长度

在Javascript中获取分配给扩展函数原型的数组长度,javascript,node.js,Javascript,Node.js,下面的代码将记录a、a.length和b.test。a和b.试验均得出[1,2,3]。编辑,我搞砸了。b、 测试结果未定义。见下面raina的回答 a、 长度为3 b、 test.length因“无法读取未定义的属性'length'而失败” 当a和b检验相等时,为什么会出现这种情况 因为b没有test属性-它是一个函数,它的原型对象是function.prototypeone 但是使用此函数创建的对象将在其原型链中具有此属性(因为prototypeproperty ofb指向已定义test属性

下面的代码将记录a、a.length和b.test。a和b.试验均得出[1,2,3]。编辑,我搞砸了。b、 测试结果未定义。见下面raina的回答

a、 长度为3

b、 test.length因“无法读取未定义的属性'length'而失败”

当a和b检验相等时,为什么会出现这种情况



因为
b
没有
test
属性-它是一个函数,它的原型对象是
function.prototype
one

但是使用此函数创建的对象将在其原型链中具有此属性(因为
prototype
property of
b
指向已定义
test
属性的对象,因此此

console.log(new b().test.length);

…应该如预期的那样给你3个。

控制台.日志(b.test);
打印
未定义的
,而不是
[1,2,3]
。谢谢,马特。我现在也看到了。我一定忽略了什么。请参考答案可能重复的感谢雷娜,这很有帮助。
console.log(new b().test.length);