zoukankan      html  css  js  c++  java
  • JavaScript中的this用法

      最近看了许多JavaScript源代码,发现this经常出现,于是对this这个非常特殊的关键词标识符进行总结。

      题外话:

      1、当函数被调用时,一个activation record【过程活动记录 -- 一种数据结构】被创建,

         这个record包涵信息:函数在哪调用,函数怎么调用的,参数等等,

         record的一个属性就是this,指向函数执行期间的this对象。

      2、函数在被调用时都会自动取得两个特殊变量,this和arguments 

      

      this在具体情况下的分析:

      1、在全局上下文,this指向全局对象。

           

      2、在函数内部时,this由函数怎么调用来确定。

       (1)作为对象方法的调用

             

        也可以这样写

         

       (2)作为构造函数的调用

             

        在构造函数(函数用new调用)中,this指向要被constructed的新对象。  即this指向实例化对象

      3、apply调用

         apply()是函数对象的方法,其作用是改变函数的调用对象,它的第一个参数 表示改变后的调用的函数对象,即this指的就是第一个参数。

           

         apply()参数为空时,默认调用全局对象,可以看到,运行结果为 "Yori",证明this指向全局对象。

         apply()参数为b时,,可以看到,运行结果为 "bentos",证明this指向对象b。

        

        

      

      

      

  • 相关阅读:
    CSS布局之浮动原理
    img中的alt和title的区别
    重绘+重排+项目优化
    事件冒泡、事件捕获和事件委托
    js数组方法总结
    flex布局
    冒泡排序
    函数节流和函数防抖
    从一个url地址最终到页面渲染完成,发生了什么
    如何让网站变灰
  • 原文地址:https://www.cnblogs.com/wuyongyu/p/5756626.html
Copyright © 2011-2022 走看看