在Javascript中,你可以拥有孤独的代码块,即没有的代码块if,function或者类似于它们之前的代码块,在代码中任意放置,如下所示:
var a = 3,
b = 4;
{
a = 50;
b = 50;
}
alert(a + b); //alerts 100
Run Code Online (Sandbox Code Playgroud)
我知道其他一些语言(我认为C++确实如此),并且它们将它用于范围控制:在孤独的代码块内声明的变量不能在它之外访问.但由于Javascript具有函数作用域而不是块作用域,因此必须使用自执行函数(function(){})()来实现相同的效果.
这个结构有目的吗?你见过有人用它吗?规格是否提到了?这只是语法的副作用,它有一些关于代码块的一般规则吗?
我刚刚注意到我可以在javascript中执行以下操作...
a:b:c:d = "happy days";
a:b:c = function(text){alert(text);};
Run Code Online (Sandbox Code Playgroud)
但我不能......
var a:b:c:d = "happy days";
// or
var myObj = {prop:a:b:c:d};
Run Code Online (Sandbox Code Playgroud)
在任何情况下我都不希望这种语法有效.当我成功使用'a:b = x'符号时,有没有人知道发生了什么?
javascript ×2