链式分配与单个分配

时间:2016-03-02 08:51:14

标签: javascript optimization variable-declaration

我有一段非常基本的代码段,并且正在尝试对其进行优化。

以下是js代码(未经优化):

var new_pod = ""; 
var resume_pod = "";
var claim_track_pod = "";
var return_track_pod = "";

优化的JS代码:

var new_pod = resume_pod = claim_track_pod = return_track_pod = "";

问题1: 两种实施方式有何不同?

问题2: 所有浏览器都接受第二种优化方式吗?

Qeustion 3: 第二种优化方式是正确的方法吗?

3 个答案:

答案 0 :(得分:1)

陈述不等同。

您应该首先专注于编写好的代码,然后让JS压缩器完成代码压缩和优化的工作。几乎从来没有理由手工完成。你也可以这样称呼某人手动展开C中的循环,疯狂。

优化总是依赖于浏览器/ JS引擎,因此很难确定如果你按照自己的方式对性能产生什么影响。

答案 1 :(得分:1)

如果您希望保持简短,那应该是这样的:

var new_pod, resume_pod, claim_track_pod, return_track_pod;
new_pod = resume_pod = claim_track_pod = return_track_pod = "";

或者

var new_pod="", resume_pod="", claim_track_pod="", return_track_pod="";

答案 2 :(得分:1)

第二个声明一个本地变量和三个全局变量:

var new_pod = resume_pod = claim_track_pod = return_track_pod = "";
  

new_pod:local

     

resume_pod:global

     

claim_track_pod:global

     

return_track_pod:global

return_track_pod被分配给第一个时,此语句将在strict mode中引发错误:

ReferenceError: assignment to undeclared variable return_track_pod

仅使用第一个,因为第二个可能会带来意想不到的行为。