`
NumberWen
  • 浏览: 30835 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

重新熟悉javascript object 2

阅读更多

继续前天关于js object的阅读感想

前文URL:http://numberwen.iteye.com/admin/blogs/296983

这一次读到了关于js的object继承,因为js中没有很强的继承体系,它主要是通过重写object的extend方法,将父类的prototype成员全部加进到子类的prototype域中,而不同于直接修改prototype链对其他的object产生影响,作用和java中的继承基本一样

以下是按我自己理解所写的代码,希望各位看官能够给些意见,欢迎拍砖

//js中类的继承实现 之 Class创建对像方法改进和领悟 ------start
 		//重写object的extend方法,进行类的继承
 		//将soruce父类的所有prototype成员增加到子类des里,造成的后果是子类和父类的prototype,子类不能影响到
 		//父类的prototype属性,子类可以重写父类的方法和属性,这点完全和java继承后的效果相同
 	    Object.extend = function(des , soruce) {
 			for(var prototype in soruce) {
 				des[prototype] = soruce[prototype];
 			}
 			return des;
 		}
 		
 		//以这种方式创建的对像,给我的感觉有点像java中的抽像类,设计了一个必须要俾实现的抽像方法,以产生做为新子类的构造器
 		var Class = {
 			create : function(){//声明时调用,如var person = Class.create();
 				return function() {//new时调用,如var p= new person();中的person()构造器实现委托给这个方法实现
 					this.initialize.apply(this,arguments);
 				}
 			}
 		} 
 		
 		var person = Class.create();
 		
 		//通过继承,覆盖抽像父类Class的initialize方法,进行构造器实现
 		Object.extend(person.prototype,{
 			initialize : function() {
 				this.name = "帅哥!";
 			}
 		});
 		
 		//当进行new时,实际上是创建了一个新object,然后就直接将构造器的实现委托到执行重写后的initialize的方法实现
 		var p = new person();
 		
 		alert(p.name);
 		
 		//js中类的继承实现 之 Class创建对像方法改进和领悟 ------end
 		
 		//js中类的继承简单实现--------- start
 		function A(){
 			this.name = '我是啊杰!';
 		}
 		
 		A.prototype =  {
 			say : function() {
 				alert(this.name);
 			}
 		}
 		
 		function B() {
 			this.name = "我是老味凯!";
 		}
 		
 		
 		
 		//将A的prototype成员全部加进到B的prototype域里
 		Object.extend(B.prototype,A.prototype);
 		
 		
 		//增加say方法进B的prototype域里,如果域中有相同的方法,则覆盖
 		Object.extend(B.prototype,{say : function() {
 				alert("我唔讲野!");
 			}});
 			
 		var b = new B();
 		
 		var a = new A();
		
		b.say();
		
		a.say(); 		
		
		//js中类的继承简单实现 --------end

 

分享到:
评论

相关推荐

    .Principles.of.Object-Oriented.Programming.in.JavaScript

    对于那些熟悉C++或Java等语言中的类为基础的OOP模型的开发者来说,JavaScript提供了另一种实现OOP的方式——基于原型的继承。 #### 书籍简介与适用人群 本书适合所有对JavaScript和面向对象编程感兴趣的开发者。...

    《JavaScript高级编程》学习笔记之object和array引用类型

    在JavaScript中,几乎所有的引用类型值都是Object类型的实例。Object类型是ECMAScript中使用最多的一个类型。创建Object实例有两种方式: 1. 使用new操作符后跟Object构造函数,例如: ```javascript var person ...

    JavaScript内核系列 pdf

    在Web开发中,JavaScript与DOM(Document Object Model)紧密相连,用于动态更新页面内容。熟悉DOM API,学会选择、遍历和修改DOM元素,以及正确处理事件监听和冒泡,可以创建交互性强的网页应用。 九、ES6及新特性...

    DELPHI之superobject实现JSON格式,可实现POST

    在 DELPHI 开发中,SuperObject 是一个非常流行的库,用于处理 JSON 数据。这个库提供了强大而灵活的 API...通过熟悉 SuperObject 的 API 和 Delphi 的网络编程机制,你可以轻松地在 DELPHI 应用程序中集成 JSON 支持。

    前端开发+JavaScript+网页打砖块小游戏+熟悉JavaScript逻辑以及编程思想

    它的主要用途是在用户与网页之间建立实时交互,处理DOM(Document Object Model)元素,进行事件监听,以及通过AJAX(Asynchronous JavaScript and XML)实现异步数据交换。 在制作“网页打砖块”小游戏的过程中,...

    JavaScript中英文手册.zip

    此外,熟悉DOM(Document Object Model)操作是JavaScript在Web开发中的关键,这包括选择元素、添加和删除元素、修改属性和样式等。对于更高级的用法,如事件处理、AJAX请求、以及现代框架(如React、Vue或Angular)...

    JavaScript.实用教程

    3. **熟悉JavaScript与DHTML元素的交互**:理解如何通过JavaScript操作DOM元素,实现网页动态效果。 4. **精通客户端脚本编写**:能够利用JavaScript开发复杂的客户端应用程序,增强用户体验。 5. **构建互动网页**...

    JavaScript课件完整版

    2. 运算符:熟悉各种运算符,包括算术运算符、比较运算符和逻辑运算符,以及它们在表达式中的作用。 3. 控制流:理解条件语句(如`if...else`、`switch`)和循环结构(如`for`、`while`),用于控制程序的执行流程。...

    精通JavaScript.pdf

    通过DOM(Document Object Model)操作,JavaScript能实时更新页面内容,提供动态用户体验。同时,JavaScript还有大量的库和框架,如jQuery、React、Vue等,它们极大地简化了开发工作,提高了开发效率。 标签...

    JavaScript 帮助 学习 文档

    熟悉这些工具和技术将极大地扩展JavaScript开发者的技能范围。 最后,学习和理解ECMAScript的新特性和更新(如ES6、ES7、ES8等)是保持与时俱进的关键。例如,箭头函数、解构赋值、模板字符串、let和const的引入都...

    JavaScript动态网页设计.rar

    2. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的结构化表示,JavaScript可以借助DOM API来操作网页元素,例如添加、删除或修改元素属性,实现动态内容更新。 3. **事件处理**:JavaScript通过监听和...

    纯JavaScript实现Ajax

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以让网页更加互动、响应更快...

    javascript刷题讲义.rar

    5. **原型和继承**:JavaScript的继承机制基于原型链,熟悉Object.prototype、__proto__、prototype等概念,以及class关键字的使用,有助于理解面向对象编程。 6. **异步编程**:包括回调函数、Promise、async/...

    JavaScript学习资料大全.rar

    学习JavaScript,还需要熟悉ES6(ECMAScript 2015)及以后的新特性,比如模板字符串、解构赋值、let和const、类和模块等,这些新特性的引入极大地提升了开发效率和代码质量。 除此之外,JavaScript在服务器端也有...

    javascript编程宝典资源

    在JavaScript编程中,DOM(Document Object Model)操作是必不可少的,它允许开发者通过JavaScript来修改网页内容。学习如何选择元素、添加和删除节点、以及改变属性和样式,将使你能创建动态网页。 AJAX...

    500个JavaScript效果源代码

    10. **拖放功能**:JavaScript可以实现拖放操作,使得用户能直观地重新排列元素或上传文件。 11. **地理定位**:利用浏览器的Geolocation API,JavaScript可以获取用户的地理位置信息,用于地图服务或其他相关应用...

    JavaScript中的Object对象学习教程

    JavaScript是目前前端开发中使用最广泛的编程语言之一,而Object对象是JavaScript中最为基础且核心的概念之一。...对于任何想要深入学习JavaScript的初学者来说,了解和熟悉Object对象都是不可或缺的第一步。

    JavaScript权威指南第五版【新】(犀牛书)

    Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the <canvas> tag. ...

    JavaScript课件及例程

    5. **数组操作**:JavaScript中的数组提供了丰富的操作方法,如push、pop、shift、unshift、splice等,熟悉这些方法能提高代码效率。 6. **事件处理**:JavaScript常用于实现页面的交互效果,如按钮点击、表单验证...

    javascript入门实用例子

    7. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的结构表示,JavaScript可以用来遍历、修改或添加DOM元素,从而改变网页内容。 8. **AJAX**:Asynchronous JavaScript and XML,尽管现在不常用XML,但...

Global site tag (gtag.js) - Google Analytics