你不知道的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 绑定

 

posted @ 2020-03-07 08:48  wzndkj  阅读(200)  评论(0编辑  收藏  举报