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:一个数组或类数组,是一个参数列表。
    
  • 相关阅读:
    个人案例分析
    软工结对作业
    交点问题
    C语言复习
    【软件工程】提问回顾与个人总结
    【技术博客】Arxiv的新Paper获取和机翻
    【技术博客】动态面包屑导航
    对对碰 -- 软工结对编程博客
    交点计数 -- 软工个人项目作业
    面向对象的程序设计-模块四课程总结
  • 原文地址:https://www.cnblogs.com/maizilili/p/12366481.html
Copyright © 2011-2022 走看看