//普通对象
//函数对象(有原型 prototy 的属性)
//原型的应用 继承
function Amial(){
this.type = '小于'
}
function cat(name){
this.name = name
}
cat.prototype = new Amial()
var cat1 = new cat('小张')
console.log(cat1.name,cat1.type) //构造器 继承 缺点:把父元素的属性都复制了
function Amial(){
this.type = '动物'
}
function amm(name){
Amial.apply(this) //调用Amial构造器 Amial == amm
//Amial.call(this,x,y,z) Amial.apply(this,[x,y,z])
this.name = name
}
var a = new amm('张三')
console.log(a.type) //组合继承(原型+构造器) 缺点:调用两次父类构造器 function Preson(name){
this.arr = ['js','php']
this.name = name
}
Preson.prototype.showname = function(){
console.log(this.name)
}
function teacher(name,gread){
Preson.call(this,name)
this.gread = gread
}
teacher.prototype = new Preson() // 最关键的一句
var a = new teacher('xiaoming', 23)
console.log(a.arr,a.name,a.gread)
a.showname() //原型+构造+寄生
function father(name){
this.arr = ['aa','bb']
this.name = name
}
father.prototype.showname = function(){
console.log(this.name)
}
function son(name,course){
father.call(this,name)
this.course = course
}
function extend(subobj,superobj){
var proobj = Object.create(superobj.prototype)
subobj.prototype = proobj
}
extend(son, father)
var a = new son('xiaoming', 23)
console.log(a.arr,a.name,a.course)
a.showname()

javascript原型,继承的更多相关文章

  1. 再谈javascript原型继承

    Javascript原型继承是一个被说烂掉了的话题,但是自己对于这个问题一直没有彻底理解,今天花了点时间又看了一遍<Javascript模式>中关于原型实现继承的几种方法,下面来一一说明下 ...

  2. 彻底理解Javascript原型继承

    彻底理解Javascript原型继承 之前写过一篇Javascript继承主题的文章,这篇文章作为一篇读书笔记,分析的不够深入. 本文试图进一步思考,争取彻底理解Javascript继承原理 实例成员 ...

  3. [转]Javascript原型继承

    真正意义上来说Javascript并不是一门面向对象的语言,没有提供传统的继承方式,但是它提供了一种原型继承的方式,利用自身提供的原型属性来实现继承.Javascript原型继承是一个被说烂掉了的话题 ...

  4. JavaScript原型继承工作原理

    原型继承的定义 当你阅读关于JS原型继承的解释时,你时常会看到以下这段文字: 当查找一个对象的属性时,JavaScript 会向上遍历原型链,直到找到给定名称的属性为止.——出自JavaScript秘 ...

  5. 【读书笔记】读《编写高质量代码—Web前端开发修炼之道》 - JavaScript原型继承与面向对象

    JavaScript是基于原型的语言,通过new实例化出来的对象,其属性和行为来自于两部分,一部分来自于构造函数,另一部分是来自于原型.构造函数中定义的属性和行为的优先级比原型中定义的属性和优先级高, ...

  6. JavaScript 原型继承开端

    1.原型继承本质       就javascript对象系统的实现来讲,对象并没有原型,而构造器有原型(构造器.prototype指向其原型).对象只有构造自某个原型的说法,并没有持有某个原型的说法. ...

  7. 浅析Javascript原型继承(转)

    引自: http://blog.csdn.net/kittyjie/article/details/4380918 原作者解释的浅显易懂,非常不错的JavaScript prototype总结 JS没 ...

  8. Javascript原型继承容易忽略的错误

    编写Javascript的开发者都知道,JS虽然没有类(ES6添加了class语法),但是可以模拟出OOP语言的类和面向对象的概念,比如我们都知道的一句话,Javascript中处处是对象,而面向对象 ...

  9. javascript原型继承圣杯模式

    javascript纯面向对象开发需要使用到的一个模式,来对对象之间原型继承做中间层代理避免重复继承与代码杂乱 <!DOCTYPE html> <html lang="en ...

  10. javascript原型继承

    在传统的基于Class的语言如Java.C++中,继承的本质是扩展一个已有的Class,并生成新的Subclass. 由于这类语言严格区分类和实例,继承实际上是类型的扩展.但是,JavaScript由 ...

随机推荐

  1. 百题计划-1 codeforces1181C Flag 暴力模拟

    https://codeforces.com/contest/1181/problem/C 题意:给一个n*m的格子(n,m<=1000),每个格子有个颜色,求可以条纹子矩阵的数量. 条纹矩阵就 ...

  2. fetchAllAssoc 小分析

    这个函数出现在了两个地方 includes\database\database.inc line 2245 includes\database\prefetch.inc line 481 foreac ...

  3. Oversampling Techniques

    ADC Operation Improving ADC Resolution 总结 根据奈奎斯特采样定理,Fsample >= 2 * Fsignal 在频域中,过采样能够降低白噪声功率谱密度 ...

  4. vs找不到msvcp120d .dll,无法继续执行代码。重新安装可能会解决此问题。

    原文链接:https://blog.csdn.net/qq_24537165/article/details/90137317 环境:win10 vs2015 c++ opencv3.4.0 截图: ...

  5. Rocky8.6软raid

    .tdi_3.td-a-rec { text-align: center } .tdi_3 .td-element-style { z-index: -1 } .tdi_3.td-a-rec-img ...

  6. 取得SAP服务器主机名(host name)和端口号(port)函数[TH_GET_VIRT_HOST_DATA]

    本文转载至:http://www.baidusap.com/abap/function/4245 是要Vcode开发abap的时候,连接服务器的时候需要端口号,可以用函数TH_GET_VIRT_HOS ...

  7. 远程ubuntu虚拟机(VirtualBox)

    环境 实机win10,虚拟软件是Oracle VM VirtualBox 下载地址https://www.virtualbox.org/ ubuntu虚拟机配置 网络选桥接网卡, 原因是桥接网卡下,根 ...

  8. Go实现KMP和Sunday算法

    KMP 1 func KMP(str, substr string) int { 2 if substr == "" { 3 return 0 4 } 5 strLen := le ...

  9. 【STM32】串口收发驱动Drv_Uart|学习笔记

    一.什么事串口? 大家常说串口,其实串口有很多种UART,SPI,IIC都是串口,一般大家口中的串口就是UART(Universal Asynchronous Receiver/Transmitter ...

  10. maven 简易入门笔记

    教程:http://www.yiibai.com/maven/  http://maven.apache.org/ 第一步:下载安装maven. 配置环境变量. 第二步: 设置mirror 中央存储仓 ...