这个语法在JavaScript中的含义是什么?{hello:“world”} [something]

时间:2014-04-03 11:37:58

标签: javascript

我在一些代码中看到了这种语法

   function parseMessage(error) {
    return {
      15: 'Faulted'
    }[error];
  }

我从未见过用数组调用的函数是什么意思?

3 个答案:

答案 0 :(得分:3)

那里没有阵列。

它创建一个对象,然后通过方括号表示法访问其中一个对象属性的值,然后返回该值。

相当于:

function parseMessage(error) {
   var myData = {
       "15": 'Faulted'
   };
   var result = myData[error];
   return result;
}

答案 1 :(得分:1)

上述函数正在创建一个对象,然后使用bracket notation

返回属性值

示例:如果error的值为15,则函数将返回'Faulted'。见DEMO

答案 2 :(得分:0)

此功能在内部使用JavaScript Object Literal

  

对象文字用作封装数据的方法,将其封装在一个整洁的包中,以最大限度地减少全局变量的使用,这可能在组合代码时引起问题。

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

  • 冒号将属性名称与值分开。
  • 逗号将每个名称/值对与下一个分开。
  • 姓氏/值对后应该没有逗号。最 如果您添加浏览器,则浏览器不会成为对象,而是Internet Explorer之前的对象 版本9通常会触发错误:'预期的标识符, 字符串或数字'。

As Object literal可用作Associative Array