此javascript语法的说明

时间:2015-03-19 16:54:02

标签: javascript

为什么这在JavaScript中有用?

undefined_variable_here: 2
它在控制台中返回2

然后我尝试了这个,它也起作用了 {another_undefined_variable: 3}

这是否有名称或解释?

2 个答案:

答案 0 :(得分:2)

你基本上是在创建一个label。在第二种情况下,即使您看起来像是一个对象,您只需用block statement包围标签。简而言之,就像您在Web控制台的两种情况下都只键入“2”一样。

答案 1 :(得分:1)

您的第一个示例是带标签的声明:表达式" 2"标签为" undefined_variable_here"。尽管JavaScript没有goto语句,但在某些情况下仍有一些方法可以跳转到特定语句。为了做到这一点,这些语句需要附加某种标识符,以便机器知道去哪里,标签提供该标识符。

你的第二个例子是一个对象文字:一个对象的表达式,它有一个名为" another_undefined_variable"值为3。

在这两种情况下,分号插入都隐式结束语句。所以第一个例子基本上等同于语句:

2;

这句话本身并不是很有用,因为它没有做任何事情,但它合法的JavaScript。第二个例子实际上做了一些工作,因为它必须创建对象,但因为它没有被放入变量,所以没有引用:你无法得到它,并且垃圾收集器将在下一次机会中将其清除。仍然不是很有用,但仍然合法。