美文网首页
7.函数的扩展

7.函数的扩展

作者: web_jianshu | 来源:发表于2020-06-28 17:04 被阅读0次
<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta http-equiv="X-UA-Compatible" content="ie=edge" />

    <title>Document</title>

  </head>

  <body></body>

</html>

<script>

  /*

        函数的扩展:

        1、函数参数的默认值,如果传入了参数就是传入的.没有就使用默认值

        2、rest参数,获取调用函数时.多余的参数与扩展运算符配合使用

        注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。

        3、箭头函数 => 代表一个函数

            特点,简化代码,没有自己的this,会继承父级作用域的this

            注意点:

            1、箭头函数没有this

            2、箭头函数不能new

            3、没有arguments对象

    */

  // function add(a = 0, b = 0) {

  //   // 相当于 var a = a || 0, b = b || 0

  //   // 设置默认值

  //   return a + b;

  // }

  // console.log(add(1, 1)); // 2

  // function sum(num1, ...nums) {

  //   // 相当于 let [num1, ...nums] = arguments;

  //   // 相当于数组的扩展运算符的逆运算

  //   console.log(num1, nums); // 1 (2) [2, 3]

  //   let sums = 0;

  //   for (let v of nums) {

  //     sums += v;

  //   }

  //   return sums;

  // }

  // console.log(sum(1, 2, 3)); // 5

  // 箭头函数 map

  // let arr = [1, 2, 3];

  // let newArr = arr.map((item, index) => {

  //   return item + 1;

  // });

  // console.log(newArr); // [2, 3, 4]

  // let person = {

  //   name: "Jack",

  //   sayHi() {

  //     // 这里的this指向person对象

  //     setTimeout(() => { // 箭头函数内部this会继承父级作用域的this

  //       console.log(this); // {name: "Jack", sayHi: ƒ}

  //       console.log(this.name); // Jack 这里的this指向块级作用域 而不是指向全局作用域GO(window) let产生了块级作用域AO

  //     }, 1000);

  //   }

  // };

  // person.sayHi();

  // let age = 19;

  // let person = {

  //   age: 18,

  //   sayHi() {

  //     setTimeout(() => {

  //       console.log(this.age); // 18 这里的this指向块级作用域

  //     }, 1000);

  //   }

  // };

  // person.sayHi();

  // 因为setTimeout / setInterval是window上的方法 所以处理函数this默认指向window对象

  // 在事件处理函数内部arguments[0]指向事件对象

</script>

相关文章

网友评论

      本文标题:7.函数的扩展

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