最近看国外的前端代码时,发现ES6的新特性已经相当普及,尤其是 let,应用非常普遍
虽然 let 的用法与 var 相同,但不管是语法语义上,还是性能上,都提升了很多,下面就从这两方面对比一下
语法
for ( var i=0; i<2; i++){ console.log( 'outer i: ' + i); for ( var i=0; i<2; i++){ console.log( 'inner i: ' +i); } }
这是一个常见的嵌套循环,都定义了变量 i 来计数,执行结果如下:
outer i: 0
inner i: 0
inner i: 1
可以看到,外层循环被打断了,因为 i 的值被内层循环修改了,通常的解决方法是内层循环中使用其他的变量,但有可能一不小心就出错了
现在把 var 换成 let
for ( let i=0; i<2; i++){ console.log( 'outer i: ' + i); for ( let i=0; i<2; i++){ console.log( 'inner i: ' +i); } }
输出结果为:
outer i: 0
inner i: 0
inner i: 1outer i: 1
inner i: 0
inner i: 1
很正常,内外层没有任何影响,因为 let 使变量的作用域只在自己所在块儿之内
示例2
console.log(a); var a = 'hi' ;
输出结果为 undefined,执行 log(a) 是在声明变量之前,为什么没有报错?因为这两行代码实际的效果是:
var a;console.log(a); a = 'hi';
在解析JS代码时,会把变量的声明提示到开始位置,这个方式也比较让人迷惑
改用 let 后,就没有这个问题了,会直接报错
console.log(a); // Uncaught ReferenceError: a is not definedlet a = 'hi' ;
性能做一个简单的测试
var start = + new Date(); for ( var i = 0;i<1000000;i++){ var num = 123; var str = 'abc' ; var obj = {key: 'value' }; var arr = [ 'bill' , 'dell' ]; } var end = + new Date(); console.log(end - start);
在Firefox下的执行结果平均为 53ms
改为 let
'use strict' var start = + new Date(); for ( var i = 0;i<1000000;i++){ let num = 123; let str = 'abc' ; let obj = {key: 'value' }; let arr = [ 'bill' , 'dell' ]; } var end = + new Date(); console.log(end - start);
结果平均为 5ms ,提速很明显
以上所述是小编给大家介绍的JavaScript6 let 新语法优势,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 华晨宇《华晨宇日出演唱会特辑》[Hi-Res][24bit 48kHz][FLAC/分轨][941.13MB]
- 刘俊麟 《美妙!我被五小只包围了》[320K/MP3][86.74MB]
- 刘俊麟 《美妙!我被五小只包围了》[FLAC/分轨][454.29MB]
- 群星《错位 影视原声带》[320K/MP3][63.65MB]
- 中国音乐地图之听见四川彝族民间歌曲乐曲集2020[WAV+分轨]
- 姚璎格《姚璎格的歌(24K纯金CD)》[正版原抓WAV+CUE]
- 高垣彩陽《melodia4》【Hi-Res】24bit-96kHz【flac】
- 王菀之《The Missing Something》[320K/MP3][67.2MB]
- 赵翊帆《LUNARFACE》[320K/MP3][88.81MB]
- 赵翊帆《LUNARFACE》[FLAC/分轨][464.62MB]
- 小野丽莎《OnoLisabest1997-2001》日本醇选辑[正版原抓WAV+CUE]
- 天籁之音NanaMouskouri《AtHerVeryBest》K2HD[正版原抓WAV+CUE]
- 古典吉他《鲁特琴-BachInspirations巴赫灵感》ThibautGarcia[24Bit/96kHz]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[320K/MP3][217.2MB]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[FLAC/分轨][870.69MB]