JavaScript设计模式与开发实践-第2章-thiscall和apply

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript设计模式与开发实践-第2章-thiscall和apply相关的知识,希望对你有一定的参考价值。

1、this的指向

三种情况:

  • 对象方法中的this
  • 普通函数中的this
  • 构造器中的this

需要注意:

  • 普通函数中的this在ES5中的strict模式下有所变化
  • 构造器中如果显式返回了一个对象,那么返回的将不是this所指向的对象
  • call和apply用来修改传入函数的this的指向

 

2、call和apply

两者的第一个参数都是指定this的指向,如果传入null,那么函数中的this指向原来的对象,浏览器中就是window

不同之处:call只接受两个参数,apply可接受不固定数量的参数

他们的用处:

  • 改变this指向
  • 模拟Function.prototype.bind
  • 借用其他对象的方法

 

3、Function.prototype.bind

以上是关于JavaScript设计模式与开发实践-第2章-thiscall和apply的主要内容,如果未能解决你的问题,请参考以下文章

Javascript设计模式与开发实践读书笔记(1-3章)

敏捷开发:原则,模式与实践——第8章 单一职责原则SRP

摘JavaScript设计模式与开发实践--单例模式

javascript设计模式与开发实践阅读笔记—— this,闭包与高阶函数

敏捷开发第6章 一次编程实践

学习笔记javascript设计模式与开发实践(职责链模式)----13 http://blog.csdn.net/pigpigpig4587/article/details/50442406#