zoukankan      html  css  js  c++  java
  • vue箭头函数、普通函数、匿名函数的this区别

    <template>
    <p>my test </p>
    </template>

    <script>
    export default {
      name: 'Test',
      data () {
        return {
        }
      },
      mounted () {
        setTimeout(() => {
          console.log('箭头函数', this)
        }, 500)// 打印结果 vueComponent

        setTimeout(function () {
          console.log('匿名函数', this)
        }, 500)// 打印结果 Window

        this.printThis()
      },

      methods: {
        printThis (file) {
          console.log('普通函数', this)// 打印结果 vueComponent
        }
      }
    }
    </script>

    箭头函数和普通函数的this区别如下。

    普通函数:调用时被决定。
    根据调用我的人(谁调用我,我的this就指向谁),
    this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this指向的是window;当函数被作为某个对象的方法调用时,this就等于那个对象

    箭头函数:定义时被决定。
    根据所在的环境(我在哪个环境中,this就指向谁),Arrow functions bind the parent context。

    匿名函数:匿名函数的执行环境是全局性的。
    匿名函数中this指向window

  • 相关阅读:
    深入Activity生命周期(一)
    android APK 中英文对比(转)
    android中获得系统语言
    mime Contenttype(http head)(转)
    activity设置全屏
    Activity常用知识
    关于这次数学建模
    排列组合
    hdu 1003 笔记
    杂想
  • 原文地址:https://www.cnblogs.com/zsx-blog/p/12425566.html
Copyright © 2011-2022 走看看