回答
第一个和第三个是等价的,并创建一个新的数组。第二个创建一个新的空对象,而不是一个数组。
var myArray = []; //create a new array
var myArray = {}; //creates **a new empty object**
var myArray = new Array(); //create a new array
var myObject = {};
相当于变种myObject = new Object();
所以,第二示例不是Array
而是一般Object
。
这可能会造成混淆为Array
是一个类,Object
是一类 - 更准确地说是Array
一个子类的Object
。所以,总的来说,Object
语义适用于Array
:
var o = [];
o.push('element1');
o.push('element2');
o['property1'] = 'property value'; // define a custom property.
console.log(o.property1);
console.log(o.length); // Outputs '2' as we've only push()'ed two elements onto the Array
存储property1的位置。它是不是在阵列 – Pinkie 2011-02-26 20:55:49
@Pinkie:现在越来越混乱:*数组也是对象*。通过做'o ['property1'] ='属性值',你实际上并不是将一个元素添加到数组中,而是设置*数组对象*的一个属性。困惑?我告诉过你;)在JavaScript中,基本上每件事都是一个对象。其他对象,例如'Array','RegExp',...扩展了基本对象的更多功能。用大括号'plain_obj = {}'创建一个普通的空对象。 – 2011-02-26 21:00:48
- 1. PHP数组 - 方括号与大括号($ array [$ i] vs $ array {$ i})
- 2. 括号VS大括号
- 3. 括号和大括号
- 4. 大括号VS括号
- 5. php大括号组
- 6. 括号和括号在javascript
- 7. PHP大括号到数组
- 8. 大括号替换大括号
- 9. Escape 2大括号/ Angular JS大括号
- 10. perl用大括号替换大括号
- 11. JavaScript参数中的方括号内的大括号
- 12. PHP数组大括号而不是方括号
- 13. 从PHP创建JavaScript数组 - 方括号和花括号
- 14. 摆脱括号,括号和大括号正则表达式和JavaScript
- 15. Javascript中的大括号
- 16. Javascript删除大括号
- 17. RSpec'更改':大括号或括号?
- 18. 在新行上的大括号括号。
- 19. 逃离大括号的花括号
- 20. Java程序来读取括号,大括号,括号和
- 21. 带大括号,括号和括号的任务
- 22. 获取Java程序以读取括号,括号和大括号
- 23. 使用大括号括起来的文字也包含javascript中的大括号
- 24. 大括号
- 25. 用大括号
- 26. 大写括号
- 27. 用大括号
- 28. 大括号{0}
- 29. 大括号
- 30. 阵营组件不与大括号
我们如何访问对象的值。 – Pinkie 2011-02-26 20:35:18
@Pinkie:看到这里:http://www.javascriptkit.com/javatutors/oopjs.shtml – 2011-02-26 20:39:30
使用括号或点符号:'myObject [“someValue”]'或'myObject.someValue'。由'{}'创建的空对象当然不会拥有这些属性,但是可以用相同的方式赋值给它们:'myObject.someValue =“hello!”' – johusman 2011-02-26 20:39:42