• vue系列 箭头函数和this


    箭头函数的基本使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    <script>
      // 箭头函数: 也是一种定义函数的方式
      // 1.定义函数的方式: function
      const aaa = function () {
    
      }
    
      // 2.对象字面量中定义函数
      const obj = {
        bbb() {
    
        }
      }
    
      // 3.ES6中的箭头函数
      // const ccc = (参数列表) => {
      //
      // }
      const ccc = () => {
    
      }
    
    </script>
    </body>
    </html>

    箭头函数参数和返回值

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    
    <script>
      // 1.参数问题:
      // 1.1.放入两个参数
      const sum = (num1, num2) => {
        return num1 + num2
      }
    
      // 1.2.放入一个参数
      const power = num => {
        return num * num
      }
    
      // 2.函数中
      // 2.1.函数代码块中有多行代码时
      const test = () => {
        // 1.打印Hello World
        console.log('Hello World');
    
        // 2.打印Hello Vuejs
        console.log('Hello Vuejs');
      }
    
      // 2.2.函数代码块中只有一行代码
      // const mul = (num1, num2) => {
      //   return num1 + num2
      // }
      const mul = (num1, num2) => num1 * num2
      console.log(mul(20, 30));
    
      // const demo = () => {
      //   console.log('Hello Demo');
      // }
      const demo = () => console.log('Hello Demo')
      console.log(demo());
    
    
    </script>
    </body>
    </html>

    箭头函数中this的使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    <script>
      // 什么时候使用箭头
      // setTimeout(function () {
      //   console.log(this);
      // }, 1000)
      //
      // setTimeout(() => {
      //   console.log(this);
      // }, 1000)
    
      // 问题: 箭头函数中的this是如何查找的了?
      // 答案: 向外层作用域中, 一层层查找this, 直到有this的定义.
      // const obj = {
      //   aaa() {
      //     setTimeout(function () {
      //       console.log(this); // window
      //     })
      //
      //     setTimeout(() => {
      //       console.log(this); // obj对象
      //     })
      //   }
      // }
      //
      // obj.aaa()
    
    
      const obj = {
        aaa() {
          setTimeout(function () {
            setTimeout(function () {
              console.log(this); // window
            })
    
            setTimeout(() => {
              console.log(this); // window
            })
          })
    
          setTimeout(() => {
            setTimeout(function () {
              console.log(this); // window
            })
    
            setTimeout(() => {
              console.log(this); // obj
            })
          })
        }
      }
    
      obj.aaa()
    </script>
    </body>
    </html>
  • 相关阅读:
    openfire 介绍安装使用
    android rabbitMQ
    转:socket编程在windows和linux下的区别
    socklen_t在windows和linux平台下的头文件定义
    libevent入门教程
    libevent安装
    《RabbitMQ in action》
    RabbitMQ安装和配置
    node.js模块之http模块
    node.js模块之Buffer模块
  • 原文地址:https://www.cnblogs.com/kknote/p/16103459.html
Copyright © 2020-2023  润新知