zoukankan      html  css  js  c++  java
  • 箭头函数 用法区别

    var d = {
         a: 1234,
         geta: function () {
             getaa = () => {
                  console.log(this.a);
                  function g() {
                        console.log(this.a);
                  }
                  g(d);
             }
             getaa();
        }
    }
    d.geta();
    // 1234
    // undefined   箭头函数内部的普通函数,有自己的this不继承。

    var d = {
        a: 1234,
        geta: function () {
            function getaa () {
                console.log(this.a);
                g = () => {
                    console.log(this.a);
                }
                g(d);
            }
            getaa();
        }
    }

    d.geta();
    // undefined   第一个undefined是有自己的this
    // undefined   第二个继承了第一个,也是undefined

    let a = {

        foo: 1,
        bar: () => {
            console.log(this.foo);
        }
    }

    a.bar();
    // undefined 箭头函数没有父级函数作用域,所以是window对象,在window上没有定义foo, 所以undefined

    1,箭头函数不能new

    2,箭头函数没有自己的this,arguments,指向父级作用域!!!

    3,箭头函数不支持call apply bind,可以传参

    4,写法 () => {}  如果返回对象需要用() 包裹

    5,()=> () => () => {}  高阶箭头函数调用,是嵌套的简写

    6,箭头函数没有 prototype 属性,在class内声明箭头函数,会被认为是一个实例属性,如果是普通函数是prototype原型属性,因此可以用箭头来声明实例属性,但是实例化的过程中会增加内存,不是从父级继承的方法。

    7,es6的生成器属性,generator/yield 不能用在箭头函数上

  • 相关阅读:
    java基础(一)
    java概述
    七大查找十大排序之二排序
    bat批处理脚本语言(一)
    photoshop安装与破解
    office——excel常用函数
    arcgis engine开发环境搭建
    七大查找十大排序算法(一)
    华为路由交换常用命令
    cisco路由交换常用命令
  • 原文地址:https://www.cnblogs.com/the-last/p/11451146.html
Copyright © 2011-2022 走看看