你不知道的JS系列 ( 22 ) - this new 绑定

Posted Zina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你不知道的JS系列 ( 22 ) - this new 绑定相关的知识,希望对你有一定的参考价值。

在传统的面向类的语言中,“构造函数“是类中的一些特殊方法,使用 new 初始化类时会调用类中的构造函数。通常的形式是这样的
something = new MyClass(..);
然而 javascript 中 new 的机制实际上和面向类的语言不同。它们只是被 new 操作符调用的普通函数而已。实际上并不存在所谓的“构造函数”,只有对于函数的“构造调用”
function foo(a) {
  this.a = a;
}
var bar = new foo(2);
console.log(bar.a); //2

使用 new 来调用 foo() 时,我们会构造一个新对象并把它绑定到 foo() 调用的 this 上。new 是最后一种可以影响函数调用时 this 绑定行为的方法,我们称之为 new 绑定

 

以上是关于你不知道的JS系列 ( 22 ) - this new 绑定的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的JS系列 ( 19 ) - this 调用位置

你不知道的JS系列 ( 23 ) - this 绑定优先级

你不知道的JS来聊聊this

《你不知道的JS(中卷)》关于this

《你不知道的js》——this全面解析

《你不知道的JS(中卷)》this详解