我在 JavaScript 中创建了一个对象:
var object = {value1 : "value1", value2 : "value2"};
如果我现在尝试计算“object.prototype”的内容,我会得到结果 0。如果我添加属性,我会得到正确的结果。我是否认为'object.prototype'实际上是空的?
谢谢!
我在 JavaScript 中创建了一个对象:
var object = {value1 : "value1", value2 : "value2"};
如果我现在尝试计算“object.prototype”的内容,我会得到结果 0。如果我添加属性,我会得到正确的结果。我是否认为'object.prototype'实际上是空的?
谢谢!
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}
如果要遍历分配给对象的所有属性,只需使用 for..in 循环即可:
for (var prop in object){
if (object.hasOwnProperty(prop)){
var propValue = object[prop];
// ...
}
}
如果您需要计算属性,您可以在每次迭代时增加一个计数器。