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

    1、this理解:

    1.是关键字
    2.this本身是一个内置的变量,该变量用于指向一个对象
    3.this分类:

    • 全局this--》 window
    • 局部(函数内)的this--》谁调用该函数,this就是谁
    • 构造函数的this---》当前构造函数new出来的实例对象
    • 特色的this---》call,apply强制修改this
    this:
    函数谁调用,内部this就是谁;默认是window。
    2. 如何确定this的值?
    test();   //window
    p.test();   //p
    var test = new Test() //new出来的对象 test {}
    test.call(obj)  //obj
    

    2、构造函数

    //C是构造函数,o是new出来的实例对象
    function C(){
      this.a = 37;
      console.log(this) //{a:37}
    }
    
    var o = new C();
    console.log(o)//{a:37}
    
    
    总结:new操作符都干了哪些事情
      1、创建空对象 {}
      2、确认this的指向:this---》创建的空对象{}
      3、执行构造函数中的代码(为这个新对象添加属性) ;
      4、返回新对象。
    

    3、call apply----在JavaScript中,call和apply作用是一样的,都是为了改变函数体内部this的指向。

    call(thisObj, arg1, arg2, arg3, arg4);
    apply(thisObj, [args]);
    
    //thisObj:call和apply第一个参数是一样的,该参数将替代Function类里面的this对象。
    //arg1,arg2....:是一个个的参数,
    //args:一个数组或类数组,是一个参数列表。
    
  • 相关阅读:
    input 特殊字符限制
    angular $http服务
    angular $resouse服务
    ng-model-options 时延
    Pytorch之数据处理
    python 小顶堆
    刷题套路总结
    数组分成和尽可能相等的子数组
    python3.7 sorted 自定义排序
    Leetcode 二维数组周游 54
  • 原文地址:https://www.cnblogs.com/maizilili/p/12366481.html
Copyright © 2011-2022 走看看