美文网首页程序员の必经之路饥人谷技术博客
这次再忘什么是this,我就直播吃电脑

这次再忘什么是this,我就直播吃电脑

作者: 春木橙云 | 来源:发表于2017-03-31 16:14 被阅读134次

我们都知道,调用一个函数一共有四种调用模式:

  • 方法调用模式

    • 定义:当一个函数被保存为对象的一个属性的时候,这个函数被称为方法。
    • 此时的this:当一个方法被调用的时候,this绑定到该对象上。
    • 举例子
      var obj = {
      name:"harrisking",
      foo: function(){
      console.log(this.name);//harrisking
      //这里的this指的就是obj;
      }
      }
  • 函数调用模式

    • 定义:当一个函数并非一个对象的属性时,则这个函数就是一个函数来调用的。
    • 此时的this:以此模式调用函数时,this被绑定到全局对象(window)。
    • 举例子
      var a = function(){
      console.log(this.b())
      }
      var b = function(){
      console.log("马达,又躺枪!")
      }
      a();//"马达,又躺枪!"
  • 构造器调用模式

  • 定义:如果一个函数前面带上一个new来调用,则该函数就是作为构造函数来调用的。

    • 这里要补充一个重要的知识点——new到底做了些啥?
      当一个构造函数前加上new的时候,背地里来做了四件事:
      1,生成一个空的对象并将其作为 this;
      2,将空对象的proto 指向构造函数;
      3,运行该构造函数;
      4,如果构造函数没有 return 或者 return 一个返回 this 值是基本类型,则返回
      this;如果 return 一个引用类型,则返回这个引用类型。
  • 此时的this:这时候,this被绑定到了新构造的对象上。

  • 举例子
    var People = function(name,age){
    this.name = name;
    this.age = age;
    };
    var p1 = new People('harrisking',23);
    p1.name;//harrisking;

  • apply调用模式

  • 定义:apply和call的方法很像,它拥有两个参数:一个是预设定的this,一个是要传递的参数(apply传递的是数组)。


分割线


敬爱的方方老师推荐的方法是:
将上述四种调用方式还原为call/apply形式。
则:

  • 方法调用模式:
    obj.foo( ) ==> obj.foo.call('obj');则this就是obj;
  • 函数调用模式:
    a() ==> window.a.call() ==> 因为call未指定this的值,则这里的this代表window;

最后特此感谢方方老师的原文 this的值到底是什么

相关文章

  • 这次再忘什么是this,我就直播吃电脑

    我们都知道,调用一个函数一共有四种调用模式: 方法调用模式定义:当一个函数被保存为对象的一个属性的时候,这个函数被...

  • 问世间“学”为何物

    学了忘 忘了又学 学了再忘 忘了再学 循环往复 像极了吃饭 吃了吐 吐出来又吃 吃了再吐 吐了再吃 颠来倒去

  • 全国电视台直播软件电脑版:可观看凤凰卫视、稳定不卡顿

    这个软件是电脑版的,再电脑上看各个电台的直播,支持基本上全国的卫视电视台直播,包括央视、各省卫视以及大多数地方电视...

  • 如何策划一场高效直播?

    一、直播前的准备 明确直播目的及主题 即:让别人知道这次直播的目的是要干什么。如主题是儿童房设计,那这次直播讲解围...

  • 辰辰日记二十九

    这次有可能是最后一次直接在电脑上写宝宝日记,因为我已经决定先手写在笔记本上,然后再抄写在电脑上。为什么要这么麻烦呢...

  • 线上教学第四天

    今天要讲新课,如果播放APP的话,来回切换方便,用电脑合适,就决定用电脑直播。 提前把电脑直播的顺序抄在纸上,放到...

  • 这次亏我吃

    1 昨天试了婚纱,没有一件合身的,一直埋怨是自己长得太胖了,就去租赁公司试了下,还是那个身材,但试出来的效果还是差...

  • 电脑直播

    昨天从发小那里借来了一台笔记本电脑,想着体验一下用电脑开直播。 我原来用过一段时间电脑,但那是台式的,笔记本很...

  • 三生三世十里桃花

    是他让我想起了,所有该忘的,不该忘的,这次我想,全部都忘干净。——白浅

  • 爱自己

    光是遇见 就已经很美好 再烦 也别忘微笑 再急 也要注意语气 再苦 也别忘坚持 再累 也要爱自己

网友评论

本文标题:这次再忘什么是this,我就直播吃电脑

本文链接:https://www.haomeiwen.com/subject/kgjvottx.html