banner
banner
banner
NEWS LETTER

ES6-函数的拓展

Scroll down

默认值

  • ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。
    1
    2
    3
    function log(x, y = 'World') {
    console.log(x, y);
    }

函数的 length 属性

  • 有默认值的长度不被计算且后面不管是否有默认值都忽略
  • (function (a) {}).length // 1
  • (function (a = 5) {}).length // 0
  • (function (a, b, c = 5) {}).length // 2

作用域

  • 如果x没有赋值就指向全局,赋值后指向所附的值
    1
    2
    3
    4
    5
    function f(x, y = x) {
    console.log(y);
    }
    f(2)
    rest参数 ...不算长度

箭头函数

  • 变量 = 形参 => 返回的表达式或数值
    1
    2
    3
    4
    5
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2) {
    return num1 + num2;
    };
  • this的指向:嵌套箭头函数的this最终指向最外层函数的this(因为箭头函数没有自己的this),
  • 不能用call()、apply()、bind()这些方法去改变this的指向。
  • 定义对象和动态this不使用箭头函数
其他文章
cover
ES6-解构赋值
  • 24/10/31
  • 15:54
  • ES6
cover
ES6-对象的拓展
  • 24/10/31
  • 15:54
  • ES6
目录导航 置顶
  1. 1. 默认值
  2. 2. 函数的 length 属性
  3. 3. 作用域
  4. 4. 箭头函数
请输入关键词进行搜索