正在看《JavaScript语言精粹》这本书,正好看到有关函数中this的调用模式,其中有四种:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。
之前看面试题也有关于this指向的问题,但不想过于看其他的答案,从书本中来,等看到其他书籍中有关this问题在决定是否从新整理一篇。
接下来先让我们看第一种,方法调用模式:当一个函数作为对象的一个属性时,被称作为一个方法。当方法被调用时,this就被绑定到该对象上。
示例代码第二种,函数调用模式:当定义的方法被单独调用时,this被绑定到全局对象。
示例代码第三种,构造器调用模式:书中写到,“一个函数,如果创建的目的就是希望结合new前缀来调用,那它就被称为构造器函数。”
书中内容,“如果一个函数前面带上new来调用,那么背地里将会创建一个连接到该函数的prototype成员的新对象,同时this会被绑定到那个新对象上。”
示例代码对于构造器这还是理解不清,因为对于原型和继承还是不懂,接下来要学习这方面知识了。
第四种,apply调用模式:书中内容,“因为JavaScript是一门函数式的面向对象编程语言,所以函数可以拥用方法。”
示例代码对于apply方法懂得还不是很多,具体在实际项目中的应用还不知道。
函数在JavaScript中还是很重要的,要继续学习了。
网友评论