0

我在 JavaScript 中创建了一个对象:

var object = {value1 : "value1", value2 : "value2"};

如果我现在尝试计算“object.prototype”的内容,我会得到结果 0。如果我添加属性,我会得到正确的结果。我是否认为'object.prototype'实际上是空的?

谢谢!

4

2 回答 2

0

In Javascript, by DEFAULT only "function objects" have a prototype property..

for example, none of the following have a prototype property by default -

var a = new Object();
var b = {};
var a = new Array();
var b = [];

But,

var a = function() {};

has a prototype property.. and by default -

a.prototype is {constructor : this}
于 2013-07-21T13:57:05.807 回答
0

如果要遍历分配给对象的所有属性,只需使用 for..in 循环即可:

for (var prop in object){
    if (object.hasOwnProperty(prop)){
        var propValue = object[prop];
        // ...
    }
}

如果您需要计算属性,您可以在每次迭代时增加一个计数器。

于 2013-07-21T11:47:33.977 回答