回答
你可以很容易地證明它是一個枚舉屬性。正如你所說,它出現在for in
循環中。這就是「enumerable」的定義。如果你想另闢蹊徑,雖然:
var a = ['hello'];
Object.getOwnPropertyDescriptor(a, '0')
// {value: 1, writable: true, enumerable: true, configurable: true}
是的,他們就像任何其他對象的屬性,除非他們改變陣列的length
如果過去的結束被創建。這是數組唯一不同的地方。
var a = [];
a[0] = 5;
a.length // 1
@mminitech謝謝你,這是有幫助的。我可以假設所有名稱下使用[]和與。操作員屬性 –
@Maizere:是!這就是他們在那裏。 – Ryan
假設我正確地理解了你的問題,是的,數組索引與對象屬性實際上是一樣的。當您設置對象的屬性時,將運行內部[[DefineOwnProperty]]
函數。該規範給出了在處理Array對象時使用的那個函數的modified version。
各種檢查(保證屬性標識符是例如一個有效的數組索引)之後,執行以下操作:調用默認[[DefineOwnProperty]]內部方法的
5.返回結果(8.12.9)上的一個傳球P,說明和擲作爲參數
這是 「正常」 的對象究竟發生了什麼。
- 1. xml屬性作爲php中的數組索引
- 2. 作爲屬性和索引器的數組
- 3. 2d數組作爲java bean的索引屬性
- 4. 映射屬性到數組索引
- 5. Matlab:按屬性對象數組索引
- 6. PHP:數組作爲屬性
- 7. 數組作爲類屬性?
- 8. PHP - 拆分HTML的字符串屬性爲索引數組
- 9. 索引屬性
- 10. 檢查屬性名稱是否爲數組索引
- 11. 作爲數組索引的字符串
- 12. 使用數組作爲python的索引
- 13. 使用對象屬性作爲數組索引返回錯誤(C++)
- 14. Realm - 作爲屬性的NSString數組?
- 15. Ember.js數組作爲模型的屬性
- 16. 數組作爲java類中的屬性?
- 17. 核心數據數組作爲屬性
- 18. 自引用屬性數組
- 19. 將索引作爲Windows x86-64中的數組索引ABI
- 20. 在索引屬性
- 21. 與索引屬性
- 22. 使用變量作爲數組索引
- 23. 使用變量作爲數組索引
- 24. 變量作爲bash數組索引?
- 25. JS數組不能作爲索引
- 26. INF和NAN作爲數組索引
- 27. 複雜類型作爲數組索引
- 28. SET數組作爲公共屬性
- 29. Javascript:數組作爲對象屬性(&ZeroClipboard)
- 30. C#數組作爲類屬性
我不知道你的意思是什麼...... Object.getOwnPropertyNames([1,2]); // [「0」,「1」,「length」]'? –
'Object.propertyIsEnumerable()'? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable – Ian