JavaScriptES6的函数拓展

JavaScriptES6的函数拓展

目录

ES6函数拓展

函数的默认参数

reset参数

name属性

箭头函数

ES6函数拓展 函数的默认参数

之前的写法:

function count(x, y) {     return x + y; } count(3);//因为只传递了参数x,y的默认值为undefined //undefined + 3返回NaN function count(x, y) {     x = x || 0;     y = y || 0;     return x + y; } count(3);//3 function 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();//2 num = 99; count();//100

参数也可以作为默认值,但是要注意顺序

正确示例:

function fn(x = 10, y = x) {     console.log(x, y); } fn(20);//20 20 fn();//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的函数拓展的文章就介绍到这了,更多相关JavaScript ES6 函数 内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    excel常用函数都有哪些?

    excel常用函数都有哪些?,函数,哪些,常用,1、SUM函数:SUM函数的作用是求和。函数公式为=sum()例如:统计一个单元格区域:=sum(A1:A10)  统计多个

    EXCEL最常用的函数有哪些?

    EXCEL最常用的函数有哪些?,函数,哪些,常用,一、IF函数作用:条件判断,根据判断结果返回值。用法:IF(条件,条件符合时返回的值,条件不符合时返回