new 运算符 建立一个用户定义的对象类型的实例或具备构造函数的内置对象的实例。
比较好奇new
运算符的原理,了解了下,分享给你们。javascript
看一下MDN
上的简单🌰:java
function Person(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } var rand = new Person("Rand McNally", 33, "M");
这样rand
就是Person的实例了。长这样:函数
本身写一个New()
方法,如何达到这种效果?四行代码...this
function New (constructor, ...args) { const obj = {}; obj.__proto__ = constructor.prototype; constructor.call(obj, ...args); return obj; }
testspa