zoukankan      html  css  js  c++  java
  • 探索javascript----this的指向问题

    *this只和执行环境有关,和声明环境无关。谁调用this,this就指向谁。

    *this的指向分为四种:

      1.作为普通函数调用:

       

      2.作为对象的方法调用:

         指向对对象,但用新变量引用该方法时候,又变为普通函数调用,指向window:

       

       解释:方法其实就是一个对象中,属性赋了一个函数,而o.getN就代表这个函数,把它赋给一个新变量调用之,变成了普通函数调用。

         3.在构造函数中,指向new运算符计算出来的实例对象。

      4.apply调用:

        apply的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用对象,所以,this就指向第一个参数。

        *当apply的参数为空或null时,默认调用全局函数。

        *有时候我们使用call和apply的目的并不在于指定this的指向,而是借用其他对象的方法,那么我们就传入null来代替某个具体的对象。

        Math.max.apply(null,[1,2,33,4,6]);//33

  • 相关阅读:
    c# 事件阻断
    正则语义化API
    c# 防止继承和单例
    Maxscript 控制流混淆
    3dmax快速安装补丁的方法
    c# 使用类中的方法更新自己
    Maxscript 变量作用域
    Maxscript 键值对
    Maxscript 数据结构和算法记录
    Datawhale 之NLP学习-打卡(五)
  • 原文地址:https://www.cnblogs.com/webkey-wzy/p/4576467.html
Copyright © 2011-2022 走看看