zoukankan      html  css  js  c++  java
  • 关于this指向思考

         事情起因为《js函数式编程指南》里面看到这段话:

    image

    上例DB对象中的save方法作为参数传入到fs的readFile,按道理this指向DB,为啥作者的意思是存在this指针可能会指向其他地方?

    this指向,当前对象:全局环境下调用函数,就是window,构造函数中使用就是实例化对象,对象方法调用就是方法点前的对象,所以有些地方需要This替换this或者,bind绑定

    So:

    name="window";
    
    var a={name:"obj",say:function(){return this.name}()};
    
    a.say;
    
    运行结果:"window"

    要是底层API类似上面的写法,那this指针就会出现问题,产生意想不到的的错误。为了安全,避免使用this。

    上面例子解释:say作为a 的属性,属性值是一个匿名函数对象(ps:出现匿名函数的地方 this指向widow,匿名函数可以理解为),读取属性值,立即执行匿名函数,this指针在作用域中随着变量声明提前时就创立,但是未指向方向,执行时才确认方向,故此时是指向window

  • 相关阅读:
    Ugly Numbers
    Present
    Out of Hay
    Stars(树状数组或线段树)
    Humble Numbers
    Wireless Network
    Rank List
    Argus
    食物链
    Antenna Placement
  • 原文地址:https://www.cnblogs.com/godbutton/p/5962030.html
Copyright © 2011-2022 走看看