为了账号安全,请及时绑定邮箱和手机立即绑定

js代码定义变量使用效率比较(代码如下)

js代码定义变量使用效率比较(代码如下)

白衣染霜花 2019-04-21 20:14:21
for(vari=0;i
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

2种定义都是相当于只定义了一次,因为JS会对变量的定义进行提升。楼主可以去搜索一下变量提升或hoist。
但是,虽然原则上两种都是只定义了一次,但效率却是不同的。因为JS是解释型的语言,一段被重复执行的代码(例如循环),在算法相同的情况下,代码越短,其运行效率越高。这也是为什么很多时候要把写好的JS代码用工具进行压缩的原因。这些压缩工具在压缩代码时,一个重要的手段就是缩短变量名(例如把局部变量全部替换为单字符的名称)
补充回答:比如有以下代码:
vararr=[1,2,3];
//这样的话a和b改变任何一个都会影响另一个
vara=arr;
varb=arr;
//如果非要让a和b的内容相同,又互不影响,可以这样
vara=arr;
varb=[];
for(vari=0;ib[i]=a[i];
}
上面的代码可以处理数组,其他对象需要用不同的方法。楼主可以搜索以下对象拷贝和深拷贝相关的文章
                            
查看完整回答
反对 回复 2019-04-21
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

虽然我也不知道原因,但是我简单的测试了一下,发现其实是否在循环内多次定义所花的时间多少并没有规律,楼主可以通过通过修改times更改执行次数来查看执行的时间测试
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 285 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信