我有一個這樣的功能:JavaScript對象的元素是否按特定順序初始化?
parsers[1] = function(buf) {
return {
type: "init",
name: buf.readUTF8String(),
capacity: buf.readUInt32(),
port: buf.readUInt16()
};
}
沒有得到任何保證name
,capacity
和port
將被初始化一個接一個?否則,緩衝區將以錯誤的順序讀取。
我當然可以依傍:
parsers[1] = function(buf) {
var ret = {type: "init"};
ret.name = buf.readUTF8String();
ret.capacity = buf.readUInt32();
ret.port = buf.readUInt16();
return ret;
}
這是ES5規範的相關部分:[11.1.5 - Object initializer](http://www.ecma-international.org/ecma-262/5.1/#sec-11.1.5)。 – joews
@joews:有點神祕,但我收集他們評估的順序。謝謝。 – coyotte508
@joews他想要一個__擔保___,而不是學術猜測 –