zoukankan      html  css  js  c++  java
  • ES6_函数优化

    函数参数默认值

    在ES6以前,我们无法给一个函数参数设置默认值,只能采用变通写法:

    function add(a , b) {
       // 判断b是否为空,为空就给默认值1
       b = b || 1;
       return a + b;
    }
    // 传一个参数
    console.log(add(10));

    现在可以这么写:

    function add(a , b = 1) {
        return a + b;
    }
    // 传一个参数
    console.log(add(10));

    箭头函数

    ES6中定义函数的简写方式:

    一个参数时:

    var print = function (obj) {
        console.log(obj);
    }
    // 简写为:
    var print2 = obj => console.log(obj);

    多个参数:

    // 两个参数的情况:
    var sum = function (a , b) {
        return a + b;
    }
    // 简写为:
    var sum2 = (a,b) => a+b;

    代码不止一行,可以用{}括起来

    var sum3 = (a,b) => {
        return a + b;
    }

    对象的函数属性简写

    比如一个Person对象,里面有eat方法:

    let person = {
        name: "jack",
        // 以前:
        eat: function (food) {
            console.log(this.name + "在吃" + food);
        },
        // 箭头函数版:
        eat2: food => console.log(person.name + "在吃" + food),// 这里拿不到this
        // 简写版:
        eat3(food){
            console.log(this.name + "在吃" + food);
        }
    }

    结果:

    箭头函数结合解构表达式

    比如有一个函数:

    const person = {
        name:"jack",
        age:21,
        language: ['java','js','css']
    }
    
    function hello(person) {
        console.log("hello," + person.name)
    }

    如果用箭头函数和解构表达式

    var hi = ({name}) =>  console.log("hello," + name);

    结果:

    学习中,博客都是自己学习用的笔记,持续更新改正。。。
  • 相关阅读:
    pointer-net
    pytorch0.4版的CNN对minist分类
    python+selenium遍历某一个标签中的内容
    selenium提取不了标签文本
    IndentationError: unindent does not match any outer indentation level
    windows下载安装mysql
    引用opencv异常
    jenkins简单安装及配置(Windows环境)
    多台服务器-SSH免密登录设置
    scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
  • 原文地址:https://www.cnblogs.com/Tunan-Ki/p/11848315.html
Copyright © 2011-2022 走看看