Javascript中的new做了什么?
来源:互联网 发布:淘宝红包能抵用运费吗 编辑:程序博客网 时间:2024/06/10 08:49
(1) 创建一个新对象;
(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 }}
阅读全文
0 0
- Javascript中的new做了什么?
- new到底做了什么
- Javascript new发生了什么?
- new 一个对象到底做了什么?
- 了解new为我们做了什么
- new/delete究竟做了些什么
- new Simulator 到底做了些什么
- c++ new 运算符做了什么
- java new 关键字到底做了什么?
- new运算符做了什么
- “var snoopy = new Dog("snoopy");”到底做了什么
- [Spring]new ClassPathXmlApplicationContext("application.xml")做了些什么
- String s3 = "hel" + new String("lo");做了什么
- new一个对象,java虚拟机做了什么?
- js中使用new操作符做了什么事情
- Js中new操作符做了什么?
- new一个对象给我们做了什么
- eclipse中的project->clean做了什么
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 Train Seats Reservation
- 一些dalao的模板
- Unity Movement AI (一)
- Java String字符串常用方法
- codevs2209 luogu1968 美元汇率
- Javascript中的new做了什么?
- 随机获取互动百科从首页到最后一个页面的标题与第一段描述
- 计蒜客 Frequent Subsets Problem(状态压缩)
- JSP九大内置对象和四个作用域
- 除法问题
- C语言实现堆排序
- DELPHI XE 10 拒接来电黑名单
- js父级函数调用子函数出现函数未定义问题
- (六)循环顺序队列的初始化、入队列、出队列