javascript new关键字做了什么
2017-05-27 11:22
281 查看
基本过程
1.创建一个空对象
2.空对象的原型指向其构造函数的原型属性
3.执行构造函数,且构造函数的this指向该对象
4.判断构造函数返回值类型,若为值类型,返回空对象本身,若为引用类型,返回这个引用类型
例如,创建Person的实例
1.创建一个空对象
2.空对象的原型指向其构造函数的原型属性
3.执行构造函数,且构造函数的this指向该对象
4.判断构造函数返回值类型,若为值类型,返回空对象本身,若为引用类型,返回这个引用类型
例如,创建Person的实例
function Person(name,age){ this.name = name; this.age = age; } var obj = {}; obj.__proto__ = Person.prototype; var result = Person.call(obj,name,age); if(typeof(result) == 'object'){ person = result; } else{ person = obj; } return person
相关文章推荐
- javaScript使用new关键字时发生了什么?
- Javascript new关键字的玄机 以及其它
- Javascript new关键字的玄机 以及其它
- 用 new 关键字对一个String 变量赋值和用literal值直接赋值有什么不同
- java中new关键字和newInstance()方法有什么区别?
- 用 new 关键字对一个String 变量赋值直接赋值有什么不同
- 用 new 关键字对一个String 变量赋值和用literal值直接赋值有什么不同
- javascript中,new操作符的工作原理是什么?
- Effective JavaScript Item 33 让构造函数不再依赖new关键字
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- Javascript中调用一个函数(对象),使用new或者直接调用有什么区别?
- 不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- 用 new 关键字对一个String 变量赋值和直接赋值有什么不同
- javascript关键字new
- 我的Javascript之旅——new关键字的玄机,以及其它
- Javascript的实例化与继承:请停止使用new关键字
- javascript 关键词 new都做了写什么
- 请不要在JavaScript中使用new关键字