当人们在JavaScript中说"对象文字"时,人们的意思是什么?

bul*_*ley 2 javascript

我知道大多数东西都是JavaScript中的对象.当人们说"对象文字"时,他们是否意味着这样的对象?

var thing = {
   'foo': 'bar'
   , 'baz': 'foo'
   , 'bar': 'baz'
};
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 6

是的,这正是对象字面意思的含义.javascript对象的定义,可能包含以逗号分隔的属性,函数定义,...

使用以下语法规则形成对象文字:

  • 冒号将属性名称与值分隔开.
  • 逗号分隔每个名称/值对与下一个名称/值对.
  • 在姓氏/值对之后应该没有逗号.如果添加Firefox,Firefox将不会反对,但Internet Explorer将触发错误:"预期的标识符,字符串或数字".


rom*_*inl 5

对象文字是声明对象的一种方式。

你会写

var myObject = {}; // with or without members
Run Code Online (Sandbox Code Playgroud)

代替

var myOject = new Object();
Run Code Online (Sandbox Code Playgroud)

您还可以使用数组文字:

var myArray = [];
Run Code Online (Sandbox Code Playgroud)

代替

var myArray = new Array(); // with or without members
Run Code Online (Sandbox Code Playgroud)

当然,它更短一些,但是它也绕过了构造函数,因此应该更高效。