var var1 = 1,
var2 = 1,
var3 = 1;
Run Code Online (Sandbox Code Playgroud)
这相当于:
var var1 = var2 = var3 = 1;
Run Code Online (Sandbox Code Playgroud)
我很确定这是变量定义的顺序:var3,var2,var1,它等价于:
var var3 = 1, var2 = var3, var1 = var2;
Run Code Online (Sandbox Code Playgroud)
有没有办法在JavaScript中确认这一点?可能使用一些分析器?
在我努力编写干净的Javascript代码作为初学者时,我最近在阅读本段时读到了关于JavaScript中的命名空间的文章:
下一个示例最顶部的代码演示了在定义变量(对象命名空间)之前可以检查变量(对象命名空间)的不同方式.您通常会看到使用选项1的开发人员,但选项3和5可能被认为是更彻底的,选项4被认为是一个很好的最佳实践.
Run Code Online (Sandbox Code Playgroud)// This doesn't check for existence of 'myApplication' in // the global namespace. Bad practice as you can easily // clobber an existing variable/namespace with the same name var myApplication = {}; /* The following options *do* check for variable/namespace existence. If already defined, we use that instance, otherwise we assign a new object literal to myApplication. Option 1: var myApplication = myApplication || {}; Option 2 if(!MyApplication) MyApplication = {}; Option 3: var myApplication = …
有这个名字吗?这是我要说的例子:
var i = 0;
var j = 0;
i = j = 1;
Run Code Online (Sandbox Code Playgroud)
所以,很显然都i和j被设置为1。但有这种做法的名称?另外,就良好的编码标准而言,通常避免这种事情吗?我还能得到一个例子或解释为什么它不是好习惯吗?