<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>类式继承模式#2——借用构造函数</title>
</head> <body>
<script type="text/javascript"> function Article(){
this.tags=['js','ajax'];
}; Article.prototype.say=function(){return this.tags;} /***************************************/
var article=new Article(); function BlogPost(){}; BlogPost.prototype=article;
BlogPost.prototype.say=111; var blog=new BlogPost(); function StaticPage(){
Article.call(this);
};
StaticPage.prototype={
x:100,
y:function(){
return this.x;
}
} var page = new StaticPage(); //BlogPost的原型继承了new Article(),即使在BlogPost.prototype上添加属性方法,事实上还是给Article构造函数添加属性方法
console.log(blog); //将父类Article中的方法属性继承过来,其实就是拷贝过来,占为己有,并且可以覆盖父类中的属性方法,但并没有将父类的原型链拷贝过来;
console.log(page); //构造函数模式缺点:调用父构造函数的原型,子构造函数能获取到父构造函数的属性和方法,但却未继承父构造函数的原型,即父构造函数__proto__所保存的链接没有继承给子构造函数。 //构造函数模式优点:可以复制父构造函数的属性和方法,并不会出现子构造函数覆盖父构造函数的意外风险,能实现多重继承,可以父子构造函数之间传递参数。 </script>
</body>
</html>

javascript类式继承模式#2——借用构造函数的更多相关文章

  1. javascript类式继承模式#3——借用和设置原型

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. javascript类式继承模式#1——默认模式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. javascript类式继承模式#4——共享原型

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. js类式继承模式学习心得

    最近在学习<JavaScript模式>,感觉里面的5种继承模式写的很好,值得和大家分享. 类式继承模式#1--原型继承 方法 让子函数的原型来继承父函数实例出来的对象 <script ...

  5. javascript类式继承最优版

    直接看实例代码: <!doctype html> <html lang="en"> <head> <meta charset=" ...

  6. JavaScript 类式继承与原型继承

    交叉着写Java和Javascript都有2年多了,今天来总结下自己所了解的Javascript类与继承. Javascript本身没有类似Java的面向对象的类与继承术语,但其基于原型对象的思想却可 ...

  7. javascript类式继承函数最优版

    直接上代码: klass函数 var klass = function (Parent, props) { var Child, F, i; //1.新构造函数 Child = function () ...

  8. JS高阶---继承模式(借用构造函数继承+组合继承)

    (1)借用构造函数继承 案例如下: 验证: (2)组合继承 案例如下: 验证如下: 结果如右图所示 . .

  9. 【读书笔记】读《JavaScript模式》 - 函数复用模式之类式继承模式

    实现类式继承的目标是通过构造函数Child()获取来自于另外一个构造函数Parent()的属性,从而创建对象. 1.类式继承模式#1 —— 默认方式(原型指向父函数实例) function Paren ...

随机推荐

  1. OpenGL纹理高级

    矩形纹理 对于二维纹理来说,除了GL_TEXTURE_2D之外,使用GL_TEXTURE_RECTANGLE就可以使用矩形纹理. 矩形纹理几大特点: 不能Mip,只能加载glTexImage2D的le ...

  2. 正则表达式转换python2的print为python3风格

    直接查找 print ([^\n\(]*)替换为 print($1)

  3. MySQL入门很简单: 8查询数据

    1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...

  4. dd-wrt ddns更新失败由于电信提供的ip不是公网ip

    由于电信提供的ip地址原来是公网的ip,后来电信通过nat提供一个内网ip,导致ddns更新失败.电话给电信客服10000号,让他们修改回来之后就可以了. 如果ddns更新失败,尤其是原本是正常的,后 ...

  5. IOS 线程的总结(及cell的图片下载)

    零.线程的注意点(掌握) 1.不要同时开太多的线程(1~3条线程即可,不要超过5条)2.线程概念1> 主线程 : UI线程,显示.刷新UI界面,处理UI控件的事件2> 子线程 : 后台线程 ...

  6. POJ-3274 Gold Balanced Lineup---hash经典题!

    题目链接: https://vjudge.net/problem/POJ-3274 题目大意: 给定多头牛的属性,每头牛的属性由一个非负数表示,该数的二进制表示不会超过K位,它的二进制表示的每一位若为 ...

  7. POJ-2395 Out of Hay---MST最大边

    题目链接: https://vjudge.net/problem/POJ-2395 题目大意: 求MST中的最大边,和POJ-2495类似 思路: 模板直接过 #include<iostream ...

  8. 在vue中使用插槽 slot

    插槽(slot)这个概念非常重要 插槽的使用场景1:在子组件里面显示父组件的dom <div id='root'> <child content = '<p>Dell&l ...

  9. MySQL中的if和case语句使用总结

    create table test( id int primary key auto_increment, name ), sex int ) ),(),(),() ,'男','女') from te ...

  10. mysql题目(二学年)

    1.哪些命令可以知道mysql安装的版本 mysqladmin --version mysql --version 2.关于mysql密码说法正确的是 初始化安装完毕后密码为空 3.进入或者打开数据库 ...