知识大全 Javascript 继承实现方式

Posted 语言

篇首语:知识贵在质,不在量。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Javascript 继承实现方式相关的知识,希望对你有一定的参考价值。

Javascript 继承实现方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  面向对象与基于对象

  几乎每个开发人员都有面向对象语言(比如C++ C# Java)的开发经验 在传统面向对象的语言中 有两个非常重要的概念 类和实例 类定义了一类事物公共的行为和方法 而实例则是类的一个具体实现 我们还知道 面向对象编程有三个重要的概念 封装 继承和多态

  但是在JavaScript的世界中 所有的这一切特性似乎都不存在 因为JavaScript本身不是面向对象的语言 而是基于对象的语言 这里面就有一些有趣的特性 比如JavaScript中所有事物都是对象 包括字符串 数组 日期 数字 甚至是函数 比如下面这个例子

  var doc; //定义了一个doc基类

  doc=(function()

  var _d;

  function doc()

  this _d=window document;

  

  doc prototype echo=function()

  this _d write( hell world )

  return ;

   //定义了一个属性echo

  return doc;

  )()

  使用

  var mydoc=new doc()

  mydoc echo() //在页面显示hell world

  模拟JavaScript中类和继承

  /*

  * 作者 杨贤喜

  * 开发时间

  * 联系方式

  */

  //原自typescript 思路

  var __extends = this __extends || function(a b)

  function __() nstructor=a;

  __ prototype=b prototype;

  a prototype=new __()

  

  这就需要引入另外一个概念 原型(prototype) 我们可以简单的把prototype看做是一个模版 新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接 只不过这种链接是不可见 给人们的感觉好像是拷贝)

  实现类的继承

  //DocMulit 继承doc

  var DocMulit=(function(_doc)

  __extends(DocMulit _doc)

  var txt but;

  function DocMulit()

  _doc call(this)

  txt= this _d createElement( input )

  but=this _d createElement( button )

  but innerText= 单击这里 ;

  but onclick=function()

  if(txt value== )

  txt focus() //console log(txt)

  else

  var doc_p=new DocP(txt value)

  doc_p echo()

  

  

  

  //重写父类的 echo 的方法

  DocMulit prototype echo=function()

  _doc prototype echo call(this) //调用父类的echo方法

  this _d body appendChild(txt)

  this _d body appendChild(but)

  

  return DocMulit;

  )(doc)

  //DocP 继承doc

  var DocP=(function(_doc)

  __extends(DocP _doc)

  var p_tar;

  function DocP(tar)

  _doc call(this)

  this _d=window document;

  this p_tar=this _d createElement( p )

  this p_tar innerText=tar;

  this p_tar setAttribute( title Click here of delete )

  this p_tar setAttribute( style cursor:pointer; )

  this p_tar onclick=function()

  if(confirm( You are delete? ))

  window document body removeChild(this)

  

  

  

  //重写父类的echo方法

  DocP prototype echo=function()

  this _d body appendChild(this p_tar)

  

  return DocP;

  )(doc)

  //实例化doc继承类DocMulit

  var mydoc=new DocMulit()

  mydoc echo()

  在页面上看到的效果

cha138/Article/program/Java/JSP/201311/19220

相关参考

知识大全 JavaScript的模块化:封装(闭包),继承(原型) 介绍

JavaScript的模块化:封装(闭包),继承(原型)介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

我国公民的财产继承权主要是通过法定继承方式实现的

我国公民的财产继承权主要是通过法定继承方式实现的。_____答案:错误解析:依据我国《继承法》的规定,公民继承权的实现主要依赖于两种方式:法定继承和遗嘱继承。

当几种继承方式发生冲突时候,其效力(由高到低)的排列顺序是

当几种继承方式发生冲突时候,其效力(由高到低)的排列顺序是_____。A、法定继承,遗嘱继承,遗赠B、遗嘱继承,遗赠,遗赠扶养协议,法定继承C、遗赠,遗赠扶养协议,法定继承,遗嘱继承D、遗赠扶养协议,

知识大全 Javascript无阻塞加载具体方式

Javascript无阻塞加载具体方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  看了《高性

知识大全 javascript检测对象中是否存在某个属性判断方法

  检测对象中属性的存在与否可以通过几种方法来判断  使用in关键字  该方法可以判断对象的自有属性和继承来的属性是否存在  代码如下:  varo=x:;  "x"ino;//true自有属性存在 

知识大全 继承和买卖那个更好些

有一套房子,房产证是我爷的名,产权共有是我爸,我父母离婚,没有奶奶,想转给我!继承和买卖那个更好些继承是在财产所有人死亡的情况才能发生的,建议以赠与的方式获得房产,并及时变更产权登记。现有一套房子,房

知识大全 面向对象思想之 -- 继承以及多态

  在OOP简介:理解类和对象这篇文章中我们讨论了继承和多态性的好处我们还粗略的学习了如何扩展基类定义子类继承基类中合适的行为和属性而重载那些并不适合的行为和属性这种方式能够削减代码宏余以及错误的堆积

继承人先于被继承人死亡的,继承人的__有代位继承的权利

继承人先于被继承人死亡的,继承人的_____有代位继承的权利。A、父母B、配偶C、子女D、兄弟姐妹答案:C解析:我国《继承法》规定:“被继承人的子女先于被继承人死亡的,由被继承人的子女的晚辈直系血亲代

知识大全 在表单提交前进行验证的几种方式整理

为了减轻后台压力可以利用JavaScript在表单提交前对表单数据进行验证本文整理了常用的几种方式有需求的朋友可以参考下   在表单提交前进行验证的几种方式在Django中为了减轻后台压力可

依我国《继承法》,关于遗嘱继承与法定继承的关系,正确的选项是__

依我国《继承法》,关于遗嘱继承与法定继承的关系,正确的选项是_____A、遗嘱继承优先于法定继承B、法定继承优先于遗嘱继承C、遗嘱继承与法定继承无所谓谁优先D、遗嘱继承与法定继承不相干答案:A解析:《