JavaScript ES6的函数怎么用
发表于:2022-08-20 作者:安全数据网编辑
编辑最后更新 2022年08月20日,今天小编给大家分享一下JavaScript ES6的函数怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下
今天小编给大家分享一下JavaScript ES6的函数怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
ES6函数拓展
函数的默认参数
之前的写法:
function count(x, y) { return x + y;}count(3);//因为只传递了参数x,y的默认值为undefined//undefined + 3返回NaNfunction count(x, y) { x = x || 0; y = y || 0; return x + y;}count(3);//3function count(x, y) { x = x??0; y = y??0; return x + y;}count(3);//3
ES6写法:
ES6的写法简洁易读,能够让其他开发者快速了解参数类型,是否可省等信息,也不会对函数体代码造成过多负担,有利于后期优化重构
function count(x = 0, y = 0) { return x + y;}count(3);
注意事项:
1.使用默认参数,在函数体内不能重新命名同名变量
function count(x = 0, y = 0) { let x;//报错 const y;//报错}
参数默认值不是传值的,而是每次都重新计算默认表达式的值,也就是说参数默认值是惰性求值的
let num = 1;function count(x = num + 1, y = 0) { return x;}count();//2num = 99;count();//100
参数也可以作为默认值,但是要注意顺序
正确示例:
function fn(x = 10, y = x) { console.log(x, y);}fn(20);//20 20fn();//10 10
错误示例:
function fn(x = y, y = 10) { console.log(x, y);}fn();//报错
参数默认值为变量时,如果外部作用域有对应变量,那么这个参数就会指向外部变量(即参数的值等于外部变量的值)
let w = 10;function fn(x = w) { let w = 20; return x;}fn();//10
注意:
//在()阶段,x已经赋值后,再改变w的值,也无法改变x的值let w = 10;function fn(x = 2) { w = 20; return x;}fn();//10
reset参数
ES6引入reset
参数(形式为…变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了
reset参数搭配的变量是一个数组,该变量将多余的参数放入数组中
类似解构赋值,以后就不用call来使arguments
调用数组方法了
function count(...values) { console.log(values);//[2, 5, 3] return values.reduce((acc,curr) => acc + curr);}add(2, 5, 3);//10
reset参数必须作为函数最后一个参数
function count(...value, a){}//报错
name属性
函数的name
属性,返回该函数的函数名
function count(){}console.log(count.name); //"count"(new Function).name // "anonymous"function foo() {};foo.bind({}).name // "bound foo"function foo() {};foo.bind({}).name // "bound foo"(function(){}).bind({}).name // "bound " // "bound "(function(){}).name // ""
箭头函数
ES6中规定可以使用"箭头"(=>)定义函数
------------正常函数-------------function count(x, y) { return x + y;}------------箭头函数-------------let count =(x, y) => x + y;
函数体中可以直接书写表达式
let count = (x, y) => { y = 100; x = x * y; return x + y;}count(3, 4);//400
()中书写表达式,书写多个短语语句,最后一个","之后的值为返回值
let count = (x, y) => (x = 100, y = 10, x + y);count(3, 4);//110
{}中书写多行语句
//报错 会将{}识别为函数体let count = id => {id: id, name: "yunjin"};//不会报错let count = id => ({id: id, name: "yunjin"});
以上就是"JavaScript ES6的函数怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
数据库第七章
服务器安全狗密码忘记了
山东盛图互联网科技有限公司
2u服务器尺寸 长宽高
超级老派的服务器房间号
网络安全行业分布图
网络技术3000字论文
苏州工控软件开发需要多少钱
db2还原数据库脚本
让电脑成为服务器
华勤应用软件开发面试
网络安全周2020郑州
opc服务器模拟器
长沙市软件开发师培训
网络安全技术500字论文
数据库删除匹配数据的命令
数据库 c管理系统
企业服务器管理男
关于网络安全知识教育教案
艾远尔网络技术
智能网络安全培训心得体会
财政数据库管理系统
全自动分拣软件开发
淘宝的云服务器是干嘛的
开展网络安全责任制考核
华中科技大学网络安全自招
数据库开发系统的步骤
利用网络技术的东西
罗布乐思国际服进不去服务器
九神网络技术团队