我有一段非常基本的代码段,并且正在尝试对其进行优化。
以下是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: 第二种优化方式是正确的方法吗?
答案 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
仅使用第一个,因为第二个可能会带来意想不到的行为。