zoukankan      html  css  js  c++  java
  • js中的this

    this的用法:
    this:
    1.绑定事件的时候,事件"."前面是谁,this就是谁;
    2.在函数执行的时候,看函数前有没有".",如果有".",看"."前面是谁,函数里的this就是谁,如果函数前面没有“.”,函数里的this是window
    3.在回调函数中的this都是window;
    4.自执行函数的this都是window
    5.call可以改变函数中this;
    6.构造函数中的this都是实例
     
    W3C的解释:

    它拥有不同的值,具体取决于它的使用位置:

      • 在方法中,this 指的是所有者对象。
      • 单独的情况下,this 指的是全局对象。
      • 在函数中,this 指的是全局对象。
      • 在函数中,严格模式下,this 是 undefined。
      • 在事件中,this 指的是接收事件的元素。
     
     
    call   apply   bind
    call,apply,bind都是函数的方法;
            
            call的第一个参数就是用来修改this的,从第二个参数开始传给fn,fn开始执行
            apply和call的用法的区别:
                  都是改变函数中的this的
                  不同点:
                      call 的第一个参数是改变函数中的this,后面的参数是一一传给 call前面的函数;
                      apply 的第一个参数是改变函数中的this,后面的参数是以数组的形式传给apply前面的函数,其实内部也是一一传的;
               
                   
            bind方法: 也是用来改变this关键字的。
               1. 返回一个处理好this的新函数
               2. 和call、apply不同的是,改完this,call或者apply前面个函数会主动去执行;而bind不会;
                       在调用bind的时候就暂时不传参数,直接改变this就可以。bind返回的新函数在执行的时候再传参。
               ps: 在ie低版本中是不兼容的
  • 相关阅读:
    Google Analytics的Gif请求数据解读
    还原当年创业:屌丝逆袭后的华丽转身 (zz)
    减去脂肪,轻身上阵 (zz)
    离婚,感谢 (转载)
    delphi如何调用.NET webservice
    如何修改远程登陆3389端口
    软件中的2038问题讨论
    去掉cxgrid上面的分组的灰色栏
    从MDF文件恢复Sql Server2000数据库
    CxGrid的一些使用方法
  • 原文地址:https://www.cnblogs.com/cqdd/p/10245636.html
Copyright © 2011-2022 走看看