js中的new后做了些什么?
程序员文章站
2022-04-30 10:40:53
...
(1) 创建一个新对象;
(2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) ;
(3) 执行构造函数中的代码(为这个新对象添加属性) ;
(4) 返回新对象。
(2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) ;
(3) 执行构造函数中的代码(为这个新对象添加属性) ;
(4) 返回新对象。
var a=new A();
1.构造函数拥有一个叫prototype的属性,这里即A.prototype,这个对象默认有一个属性constructor,他的值是这个构造函数A。
2.javascript先创建一个空对象,先叫它做临时对象,它继承A.prototype的所有属性。
3.当A()开始执行,设置A的this指向这个临时对象,然后继续执行函数A。
4.如果没有返回语句,或者是返回对象的语句,那么返回的就是这个临时对象,否则返回的我们返回的对象。
用原生JS实现new方法
function New(f) { return function () { var o = {"__proto__": f.prototype}; f.apply(o, arguments);//继承父类的属性 return o; //返回一个Object } }
以上就是js中的new后做了些什么? 的详细内容,更多请关注其它相关文章!
推荐阅读
-
详解Javascript中new()到底做了些什么?
-
js中的new后做了些什么?
-
js中关于new Object时传参的一些细节分析_javascript技巧
-
javascript - 一些网站在用户提交登录时将密码框中的密码用js进行了一次不可逆加密,然后提交。这样做有必要么?有什么好处和坏处?
-
javascript - 一些网站在用户提交登录时将密码框中的密码用js进行了一次不可逆加密,然后提交。这样做有必要么?有什么好处和坏处?
-
js中的new后做了些什么?
-
详解Javascript中new()到底做了些什么
-
详解Javascript中new()到底做了些什么
-
js中关于new Object时传参的一些细节分析_javascript技巧
-
详解Javascript中new()到底做了些什么?