注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

JavaScript继承笔记  

2014-07-14 13:48:01|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
https://gist.github.com/hjzheng/bf0f4554dc600b903571
copy继承 
//JavaScript继承
//copy继承(call and prototype)
function extend(obj1, obj2){
for(var attr in obj2){
obj1[attr] = obj2[attr];
}
}
 
function Person(name){
this.name = name;
}
 
Person.prototype.sayName = function(){
console.log(this.name);
};
 
function Student(name, age){
Person.call(this, name);
this.age = age;
}
 
Student.prototype.sayAge = function(){
console.log(this.age);
};
 
extend(Student.prototype, Person.prototype);
 
var s = new Student("hurry", 26);
s.sayName();
s.sayAge();
类式继承
//JavaScript 类式继承
//YUI2.9 YHAOO.lang.extend
function extend(Sub, Super) {
var F = function(){};
F.prototype = Super.prototype;
Sub.prototype = new F();
Sub.prototype.constructor = Sub;
}
 
function Person(name){
this.name = name;
}
 
Person.prototype.showName = function(){
console.log(this.name);
};
 
function Student(name, age){
Person.call(this, name);
this.age = age;
}
 
extend(Student, Person);
 
Student.prototype.showAge = function(){
console.log(this.age);
};
 
var s = new Student();
s.showAge();
原型继承
//JavaScript 原型继承
function extend(obj){
var F = function(){};
F.prototype = obj;
return new F();
}
 
var obj = {
name: "xxxx"
};
 
var sub = extend(obj);
 
console.log(sub.name);

  评论这张
 
阅读(230)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017