美文网首页
ES6(三) 函数 2

ES6(三) 函数 2

作者: 蒋小花_4b6c | 来源:发表于2020-05-06 14:03 被阅读0次

1.使用不具名参数 (arguments)

2.剩余参数(…)

使用不具名参数

es5的不具名参数

前面说的参数都是:在函数定义中的已被命名的参数.

然而 JS 的函数并不强求 参数的数量要等于已定义具名参数的数量,

你所传递的参数总是允许少于或多于正式指定的参数。

function pick(object) {

    let result = Object.create(null);

    for(let i = 0, len = arguments.length; i < len; i++) {

        result[arguments[i]] = object[arguments[i]];

    }

    return result;

}

//  pick('1', 2, 'abc');

let book = {

    title: 'undestanding ES6',

    author: 'Nicholsa',

    year: 2015

};

let data = pick(book, 'author', 'year');

console.log(data);

该函数能够处理多个参数;

剩余参数

es6的剩余参数(rest parameter)

由三个点( ... )与一个紧跟着的具名参数指定

function pick(object, ...keys) {

    let result = Object.create(null);

    for (let i = 0, len = keys.length; i < len; i++) {

        result[keys[i]] = object[keys[i]];

    }

    return result;

}

let book = {

    title: 'undestanding ES6',

    author: 'Nicholsa',

    year: 2015

};

let data = pick(book, 'author', 'year');

console.log(data);

keys 是一个包含所有在 object 之后的参数的剩余参数

arguments 是包含所 有参数.

但是:一个函数只能有一个剩余参数,并且它必须被放在最后

function pick( object,  ...keys,  last) {

    // 语法错误:不能在剩余参数后使用具名参数 

    let result = Object.create(null);

    for (let i = 0, len = keys.length; i < len; i++) {

        result[keys[i]] = object[keys[i]];

    }

    return result;

}

pick('aa', 'bb', 'cc');

设计剩余参数是为了替代 ES 中的 arguments ,虽然 arguments 仍未在语言中被移除.

function checkArgs(...args) {

    console.log(args.length);

    console.log(arguments.length);

    console.log(args[0], arguments[0]);

    console.log(args[1], arguments[1]);

}

checkArgs("a", "b");

相关文章

  • JavaScript学习笔记-函数

    一 函数定义 1 方式一 在JavaScript中,定义函数的方式如下: 2 方式二 3 方式三(重要) ES6标...

  • ES6 写法示例

    匿名函数调用 ES5 ES6 箭头函数 将数组的内容 * 2 ES5 ES6 默认参数 ES5 ES6 不定参数 ...

  • ES6(三) 函数 2

    1.使用不具名参数 (arguments) 2.剩余参数(…) 使用不具名参数 es5的不具名参数 前面说的参数都...

  • 29.JavaScript-箭头函数

    1.什么是箭头函数? 箭头函数是ES6中新增的一种定义函数的格式目的:就是为了简化定义函数的代码 2. 在ES6之...

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • es6学前准备(一)

    ES6优势 1、 对象拷贝2、函数默认参数3、字符串模板 ES6使用频率高: 结构赋值箭头函数set map异步操...

  • es6新特性

    es6新特性 1.函数参数添加默认值 es6之前 es6之后: 2.字符串拼接 es6之前: es6之后: 3.解...

  • ES6箭头函数简介

    @(JS技巧)[ES6|箭头函数] ES6箭头函数(Arrow Functions) ES6可以使用“箭头”(=>...

  • (9) 函数

    函数 1. 定义 普通函数 函数表达式 Function关键字 箭头函数(ES6) 2. 函数特性 模拟函数重载f...

  • Es6基础语法

    ES6 函数 1、this :this代表当前正在执行的对象 2、箭头函数(1)箭头函数的this是在定义的时候...

网友评论

      本文标题:ES6(三) 函数 2

      本文链接:https://www.haomeiwen.com/subject/tioightx.html