js对象的复制继承实例
本文实例讲述了js对象的复制继承。分享给大家供大家参考。具体如下:
<script type="text/javascript">
Object.prototype.extend = function(obj){
//在函数里,把obj属性复制到自身
for(var k in obj){
if(obj.hasOwnProperty(k)){
if(this[k] == undefined){
this[k] = obj[k];
}
}
}
}
var kitty = {color:'yellow',climb:function(){alert('我会爬树');}};
var tiger = {color:'yellow and black'};
tiger.extend(kitty);
tiger.climb();
</script>
希望本文所述对大家的javascript程序设计有所帮助。
相关推荐
-
javascript 面向对象封装与继承
整理一下js面向对象中的封装和继承. 1.封装 js中封装有很多种实现方式,这里列出常用的几种. 1.1 原始模式生成对象 直接将我们的成员写入对象中,用函数返回. 缺点:很难看出是一个模式出来的实例. 代码: 复制代码 代码如下: function Stu(name, score) { return { name: name, score: score } }
-
js对象继承之原型链继承实例
本文实例讲述了js对象继承之原型链继承的用法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: <script type="text/javascript"> //定义猫的对象 var kitty = {color:'yellow',bark:function(){alert('喵喵');},climb:function(){alert('我会爬树')}}; //老虎对象的构造函数 function tiger(){ this.color = "ye
-
js对象的构造和继承实现代码
复制代码 代码如下: <script> //定义js的user对象 function User(name,age){ this.name=name, this.age=age, this.getName=function(){ return this.name; }, this.getAge=function(){ return this.age; } } //实例化一个对象 var use=new User("aa",21); alert(use.name); alert
-
使用apply方法实现javascript中的对象继承
复制代码 代码如下: <script type="text/javascript"> //使用apply方法实现对象继承 function Parent(username) { this.username = username; this.sayHello = function() { alert(this.username); } } function Child(username, password) { Parent.apply(this, new Array(use
-
JavaScript中的对象继承关系
我们今天就来看一下继承中的类继承以及类继承和原型继承的混用,所谓类继承,就是使用call或者apply方法来进行冒充继承: function Desk(size,height){ this.size=size; this.height=height; } function MJDesk(size,height){ Desk.call(this,size,height);//这种就叫类继承. } var mj = new MJDesk(10,123); 像上面这种就是我们要使用的类继承,用这种继承
-
JavaScript中创建对象和继承示例解读
对象创建: 当一个函数对象被创建时候,Function构造器产生的函数对象会运行类似这样的代码: 复制代码 代码如下: this.prototype={constructor:this}; 假设函数F F用new方式构造对象时,对象的constructor被设置成这个F.prototype.constructor 如果函数在创建对象前修改了函数的prototype,会影响创建出来对象的construtor属性 如: 复制代码 代码如下: function F(){}; F.prototype={
-
javascript的函数、创建对象、封装、属性和方法、继承
一,function 从一开始接触到js就感觉好灵活,每个人的写法都不一样,比如一个function就有N种写法 如:function showMsg(){},var showMsg=function(){},showMsg=function(){} 似乎没有什么区别,都是一样的嘛,真的是一样的吗,大家看看下面的例子 复制代码 代码如下: ///----------------------------------------------------------------------------
-
javascript 用原型继承来实现对象系统
javascript中,对象没有原型,而构造器有原型 原型的含义:如果构造器有一个原型对象 A,则由该构造器创建的实例都必然复制自A 复制代码 代码如下: /*申明2个构造器*/ var flower=function(){ this.name="nokia"; } var flower2=function(){ this.age=22; } /*原型链*/ flower2.prototype=new flower(); /*根据刚才原型的定义,实例obj必然复制自new flower
-
js对象的复制继承实例
本文实例讲述了js对象的复制继承.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script type="text/javascript"> Object.prototype.extend = function(obj){ //在函数里,把obj属性复制到自身 for(var k in obj){ if(obj.hasOwnProperty(k)){ if(this[k] == undefined){ this[k] = obj[k];
-
js对象的读取速度实例详解
1.访问字面量和局部变量最快,而访问数组元素和对象成员相对较慢.访问对象成员时,就像作用域链一样,在原型链上搜索. 2.如果找到的成员在原型链中的位置太深,访问速度就会变慢. 所以要尽量减少对象成员的搜索次数和嵌套深度. 实例 // 进行两次对象成员查找 function hasEitherClass(element, className1, className2) { return element.className === className1 || element.className ==
-
JS对象创建与继承的汇总梳理
目录 引言 对象创建 工厂函数 构造函数 构造+原型 工厂+构造+原型 ES6 class 对象与函数 小结 引言 在 6 月更文中零零散散讲了 JS 的对象创建和对象继承,有工友对此还是表示疑惑,要注意:这是两个不同但又相关的东西,千万别搞混了! 这些文章是: 蓦然回首,“工厂.构造.原型”设计模式,正在灯火阑珊处 JS精粹,原型链继承和构造函数继承的 “毛病” “工厂.构造.原型” 设计模式与 JS 继承 JS 高级程序设计 4:class 继承的重点 JS class 并不只是简单的语法糖
-
Json字符串转换为JS对象的高效方法实例
今天学习JQuery源码看到一下方法,原来还可以这样解析JSON字符串: 复制代码 代码如下: parseJSON: function( data ) { if ( typeof data !== "string" || !data ) { return null; } // Make sure leading/trailing whitespace is removed (IE can't handle it) data = jQuery.trim( data ); //
-
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕. 平时发的文章基本都是开发中遇到的问题和对最佳解决方案的探讨,终于忍不住要写一篇基础概念类的文章了. 本文探讨以下问题,在座的朋友各取所需,欢迎批评指正: 1.创建对象 2.__proto__与prototype 3.继承与原型链 4.对象的深度克隆 5.一些Object的方法与需要注意的点 6.ES6新增特性 下面反复提到实例对象和原型对象,通过构造函数 new
-
JS对象与json字符串格式转换实例
本文实例讲述了JS对象与json字符串格式转换的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"&g
-
JSON与js对象序列化实例详解
本文实例讲述了JSON与js对象序列化.分享给大家供大家参考,具体如下: JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语言无关,它可以用于在现在所有的编程语言编写的应用程序之间进行数据交换.是一种文本格式,比较容易读写. JSON是一个容纳"名/值"对的无序集合,名字可以是任意字符串,值可以使任意的JSON类型的值.大多数编程语言都有
-
浅谈js对象的创建和对6种继承模式的理解和遐想
JS中总共有六种继承模式,包括原型链.借用构造函数.组合继承.原型式继承寄生式继承和寄生组合式继承.为了便于理解记忆,我遐想了一个过程,对6中模式进行了简单的阐述. 很长的一个故事,姑且起个名字叫女娲造人吧. 创建对象 女娲一个一个的捏人(创建对象),这样太慢,于是设计了一种机器(函数),想造什么样的,告诉他这个人有哪些特点和功能,机器来制造.这就是工厂模式的(使用同一个接口创建对象,回产生大量重复代码,由此发明了一种函数(模具)). 但是机器造人同样也比较麻烦(挖土.和泥.捏眼睛.捏鼻子...
随机推荐
- ThinkPHP和UCenter接口冲突的解决方法
- 详解vue与后端数据交互(ajax):vue-resource
- java中常用的排序方法
- 分析python服务器拒绝服务攻击代码
- JS实现的文字与图片定时切换效果代码
- typecho插件编写教程(三):保存配置
- JavaScript正则表达式的分组匹配详解
- wampserver下mysql导入数据库的步骤
- php上传图片之时间戳命名(保存路径)
- sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
- 浅谈jquery设置和获得checkbox选中的问题
- jQuery 插件封装的方法
- 本地攻击者利用FreeBSD4.3设计漏洞取得系统特权
- 基于Java语言MD5加密Base64转换方法
- 江苏徐州的邮政西联网点一览表
- CentOS 6.5上的Tomcat启动报错问题解决方法
- java向文件中追加内容与读写文件内容源码实例代码
- asp.net操作xml增删改示例分享
- php中header设置常见文件类型的content-type
- C#操作FTP出现500错误解决办法