本文实例讲述了es6函数之严格模式用法。分享给大家供大家参考,具体如下:
从es5开始,函数内部可以设定为严格模式。
function doSomething(a, b) { 'use strict' // code }
es2016做了一点修改,规定只要函数参数使用了默认值,解构赋值,或者扩展运算符,那么函数内部就不能显示设定为严格模式,否则会报错。
// 报错 function doSomething(a, b = a) { 'use strict' // code } const doSomething = function({a, b}) { 'use strict' // code } const doSomething = (...a) => { 'use strict' // code } const obj = { doSomething({a, b}) { 'use strict' // code } }
这样规定的原因是,函数内部的严格模式,同时适用于函数体和函数参数。但是,函数执行的时候,先执行函数参数,然后再执行函数体,这样就有一个不合理的地方,只有从函数体之中,才能知道参数是否应该以严格模式执行,但是参数却应该先于函数体执行。
function doSomething(value = 070) { 'use strict' return value }
上面代码中,参数value的默认值是八进制数070,但是严格模式下不能用前缀0表示八进制,所以应该报错,但是实际上,javascript引擎会先成功执行value = 070 ,然后进入函数内部,发现需要用严格模式执行,这时才会报错。
虽然可以先解析函数体代码,再执行参数代码,但是这样无疑就增加了复杂性。因此,标准索性禁止了这种用法,只要参数使用了默认值,解构赋值,或者扩展运算符,就不能显示指定严格模式。
两种方法可以规避这种限制。第一种是设定全局性的严格模式,这是合法的。
'use strict' function doSomething(a, b = a) { // code }
第二种是把函数包在一个无参数的立即执行函数里面。
const doSomething = (function() { 'use strict' return function (value = 42) { return value } })
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《邓丽君40周年 模拟之声慢刻CD》[WAV+CUE][420MB]
- 任贤齐.2002-一个任贤齐【滚石】【WAV+CUE】
- 龙千玉.2022-九月玫瑰【豪记】【WAV+CEU】
- 群星.1996-枕边歌·优质情歌选2CD【滚石】【WAV+CUE】
- 拉赫玛尼诺夫钢琴协奏曲No.2;朗朗SHM-SACD
- 薰妮1990-镭射大碟[香港首版][WAV+CUE]
- 薰妮1990-金曲第二辑[日本天龙虚字版][WAV+CUE]
- 阮兆祥.2019-大梦想家【星梦娱乐】【FLAC分轨】
- 张立基.1992-PASSION(国语版)【EMI百代】【WAV+CUE】
- 郑融.2011-SPRING.SUMMER【星娱乐】【WAV+CUE】
- Beyond《海阔天空Beyond精选》[WAV+CUE][470MB]
- 许惠钧《小海马说晚安 宝贝的睡眠浪潮 吉卜力哄睡钢琴》[320K/MP3][114.73MB]
- 许惠钧《小海马说晚安 宝贝的睡眠浪潮 吉卜力哄睡钢琴》[FLAC/分轨][286.45MB]
- 薰妮1997-相逢梦中16首精选[香港永恒真存版][WAV+CUE]
- 郭宴《共同度过HQCD(纪念张国荣二十周年限量版)》2023[整轨WAV]