我是一位嘗試學習JavaScript精神的Java開發人員。JavaScript靜態對象創建方法的差異
這兩種方法在JavaScript中創建靜態對象的方式與非語法方式不同嗎?從JavaScript程序員的角度來看哪種方法更可接受?
方法答:
var obj = {};
obj.field1 = /* some expression */;
obj.field2 = /* some expression */;
方法B:
var obj = {
field1: /* some expression */,
field2: /* some expression */
};
我傾向於使用方法B.方法A很好,當你需要訪問對象文字。例如,如果你想根據**'field1'定義'field2' **;你不能在對象文字初始化中完全做到這一點。 – Ian
另一種類似但效果不同的方式是在構造函數上使用'new'運算符: var obj = new(function Object(){this.field1 =/* some expression * /; this.field2 =/*一些表達式*/var var privateProperty =「somevalue」; this.field3 = this.field1 + privateProperty;})();'這允許你隱藏一些屬性,如果需要的話。 – chrmod
另一種方法是使用:'Object.create' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create – chrmod