zoukankan      html  css  js  c++  java
  • ES6-11学习笔记--函数的参数

    参数的默认值
    与解构赋值结合
    length属性
    作用域
    函数的name属性
     
    ES5设置函数参数默认值:
    function foo(x, y) {
        y = y || 'world';
        console.log(x, y);
    }
    foo('hello', 'girl');
    foo('hello', 0); // 由于0理解成false,所以y赋值为world
    // 这样设置不够严谨且麻烦
    

      

    ES6设置函数参数默认值:
    function foo2(x, y = 'world') {
        console.log(x, y);
    }
    foo2('hello', 0)
    

      

    参数变量是默认声明,下面不能用let,const重复声明:
    function foo(x=5){
        let x =1
    }
    

      

    参数不能够重名:
    function foo(x,x,y){}
    

      

    默认参数的位置要在全部无默认值参数之后:
    functon foo(x,y,z=5){}
    

      


    与解构赋值结合,看解构赋值篇章内容即可:点击跳转
    参数默认值配合解构赋值,可以使代码可读性更强。
    如自定义一个ajax函数:
    function ajax(url,{
        body = '',
        method = 'GET',
        header ={}
    }){}
    

      


    length属性返回的是没有指定默认值参数的个数:
    function lfoo(x, y, z = 2) {}
    console.log(lfoo.length); // 2
    

      


    作用域例子:
    let x = 1
    function foo(x, y = x) {
        console.log(y)
    }
    foo(2)
    
    function foo2(y = x) {
        let x = 2
        console.log(y)
    }
    foo2() 
    

      


     
    函数的name属性:
    function fname() {}
    console.log(fname.name); // fname
    console.log((new Function).name); // anonymous 匿名
    console.log(fname.bind({}).name); // bound fname
    console.log((function () {}).bind({}).name); // bound
    

      

     
    放弃安逸,持续努力——成长
  • 相关阅读:
    已经二叉树的前序遍历和中序遍历 写出后序遍历算法
    Windows GVim
    PHP PDO
    Html5 Geolocation获取地理位置信息
    Vim字符编码/中文乱码详解
    Vim常用操作命令
    三列布局,左右宽度固定,中间一列随浏览器窗口变化宽度
    Html5 跨域通信
    Http 与 Socket 区别
    浏览器对比不应该成为月经帖或季度帖
  • 原文地址:https://www.cnblogs.com/MarsPGY/p/14823400.html
Copyright © 2011-2022 走看看