为什么这在JavaScript中有用?
undefined_variable_here: 2
它在控制台中返回2
然后我尝试了这个,它也起作用了
{another_undefined_variable: 3}
这是否有名称或解释?
答案 0 :(得分:2)
你基本上是在创建一个label。在第二种情况下,即使您看起来像是一个对象,您只需用block statement包围标签。简而言之,就像您在Web控制台的两种情况下都只键入“2”一样。
答案 1 :(得分:1)
您的第一个示例是带标签的声明:表达式" 2"标签为" undefined_variable_here"。尽管JavaScript没有goto
语句,但在某些情况下仍有一些方法可以跳转到特定语句。为了做到这一点,这些语句需要附加某种标识符,以便机器知道去哪里,标签提供该标识符。
你的第二个例子是一个对象文字:一个对象的表达式,它有一个名为" another_undefined_variable"值为3。
在这两种情况下,分号插入都隐式结束语句。所以第一个例子基本上等同于语句:
2;
这句话本身并不是很有用,因为它没有做任何事情,但它是合法的JavaScript。第二个例子实际上做了一些工作,因为它必须创建对象,但因为它没有被放入变量,所以没有引用:你无法得到它,并且垃圾收集器将在下一次机会中将其清除。仍然不是很有用,但仍然合法。