码迷,mamicode.com
首页 > 其他好文 > 详细

通过原型继承创建一个新对象

时间:2018-06-24 16:12:44      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:var   原型继承   继承   进一步   存在   使用   create   type   string   

// 通过原型继承创建一个新对象
function inherit(p){
if (p == null) throw TypeError();//p是一个对象,但不能是null
if(Object.create) //如果object.create()存在
return Object.create(p); //直接使用它
var t = typeof p;//否则进行进一步检测
if (t !== "object" && t !== ‘function‘) throw TypeError();
function f(){};//将其原型属性设置为p
f.prototype = p;//使用f()创建p的继承对象
return new f();
}

 

例如:
var o = {}
o.x = 1;//给o定义一个属性
var p = inherit(o);//p继承o和Object.prototype
console.log(p);
p.y =2;
var q = inherit(p);//q继承p、o、Object.prototype
q.z = 3;
console.log(q.x + q.y + q.z);//6
var s = q.toString();
console.log(s);//[object Object]

 

通过原型继承创建一个新对象

标签:var   原型继承   继承   进一步   存在   使用   create   type   string   

原文地址:https://www.cnblogs.com/studyh5/p/9220596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!