假设我有一个对象,它根据函数的返回值分配属性:
var i = 0;
var f = function() { return ++i; }
var foo = {
a:f(),
b:f(),
c:f()
};
是否保证 foo.a 为 1, foo.b 为 2, foo.c 为 3?我知道当你迭代一个对象时,JS 不保证顺序,那么赋值呢?
它是否在某处的 JS 规范中指定?我只是出于教育原因而问。
谢谢。