JavaScript ES6的函数怎么用
发表于:2023-02-07 作者:安全数据网编辑
编辑最后更新 2023年02月07日,今天小编给大家分享一下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是什么性能
网络安全的bgm
深圳市云谷时代网络技术
2017软件开发工具排名
赌博软件开发者判决案例
php怎么建立数据库
建设云服务器
泰州自动网络技术是什么
没有指定代理服务器怎么添加
免费的nginx服务器
真实服务器映射到外网
数据库课程引入
新乡市兴弘网络技术有限公司
我的世界烟雨城服务器下载
数据库如何统计相同记录的个数
建设银行软件开发人员
广州系统软件开发哪里好
er实体图与数据库的关系
mssql查询所有数据库
自动软件开发公司
医院机房网络安全拓扑图
天津学生网络技术服务常见问题
医院项目管理系统服务器配置
地税系统网络安全制度建设
崇明区软件开发案例
酷吧网络技术
数据库IP和端口怎么看
北京海淀区互联网科技企业
2018数据库软件安装教程
网络安全问题日益重要英语
幼儿教育软件开发