继续前天关于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
分享到:
相关推荐
对于那些熟悉C++或Java等语言中的类为基础的OOP模型的开发者来说,JavaScript提供了另一种实现OOP的方式——基于原型的继承。 #### 书籍简介与适用人群 本书适合所有对JavaScript和面向对象编程感兴趣的开发者。...
在JavaScript中,几乎所有的引用类型值都是Object类型的实例。Object类型是ECMAScript中使用最多的一个类型。创建Object实例有两种方式: 1. 使用new操作符后跟Object构造函数,例如: ```javascript var person ...
在Web开发中,JavaScript与DOM(Document Object Model)紧密相连,用于动态更新页面内容。熟悉DOM API,学会选择、遍历和修改DOM元素,以及正确处理事件监听和冒泡,可以创建交互性强的网页应用。 九、ES6及新特性...
它的主要用途是在用户与网页之间建立实时交互,处理DOM(Document Object Model)元素,进行事件监听,以及通过AJAX(Asynchronous JavaScript and XML)实现异步数据交换。 在制作“网页打砖块”小游戏的过程中,...
在 DELPHI 开发中,SuperObject 是一个非常流行的库,用于处理 JSON 数据。这个库提供了强大而灵活的 API...通过熟悉 SuperObject 的 API 和 Delphi 的网络编程机制,你可以轻松地在 DELPHI 应用程序中集成 JSON 支持。
此外,熟悉DOM(Document Object Model)操作是JavaScript在Web开发中的关键,这包括选择元素、添加和删除元素、修改属性和样式等。对于更高级的用法,如事件处理、AJAX请求、以及现代框架(如React、Vue或Angular)...
3. **熟悉JavaScript与DHTML元素的交互**:理解如何通过JavaScript操作DOM元素,实现网页动态效果。 4. **精通客户端脚本编写**:能够利用JavaScript开发复杂的客户端应用程序,增强用户体验。 5. **构建互动网页**...
2. 运算符:熟悉各种运算符,包括算术运算符、比较运算符和逻辑运算符,以及它们在表达式中的作用。 3. 控制流:理解条件语句(如`if...else`、`switch`)和循环结构(如`for`、`while`),用于控制程序的执行流程。...
通过DOM(Document Object Model)操作,JavaScript能实时更新页面内容,提供动态用户体验。同时,JavaScript还有大量的库和框架,如jQuery、React、Vue等,它们极大地简化了开发工作,提高了开发效率。 标签...
熟悉这些工具和技术将极大地扩展JavaScript开发者的技能范围。 最后,学习和理解ECMAScript的新特性和更新(如ES6、ES7、ES8等)是保持与时俱进的关键。例如,箭头函数、解构赋值、模板字符串、let和const的引入都...
2. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的结构化表示,JavaScript可以借助DOM API来操作网页元素,例如添加、删除或修改元素属性,实现动态内容更新。 3. **事件处理**:JavaScript通过监听和...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以让网页更加互动、响应更快...
5. **原型和继承**:JavaScript的继承机制基于原型链,熟悉Object.prototype、__proto__、prototype等概念,以及class关键字的使用,有助于理解面向对象编程。 6. **异步编程**:包括回调函数、Promise、async/...
学习JavaScript,还需要熟悉ES6(ECMAScript 2015)及以后的新特性,比如模板字符串、解构赋值、let和const、类和模块等,这些新特性的引入极大地提升了开发效率和代码质量。 除此之外,JavaScript在服务器端也有...
在JavaScript编程中,DOM(Document Object Model)操作是必不可少的,它允许开发者通过JavaScript来修改网页内容。学习如何选择元素、添加和删除节点、以及改变属性和样式,将使你能创建动态网页。 AJAX...
10. **拖放功能**:JavaScript可以实现拖放操作,使得用户能直观地重新排列元素或上传文件。 11. **地理定位**:利用浏览器的Geolocation API,JavaScript可以获取用户的地理位置信息,用于地图服务或其他相关应用...
JavaScript是目前前端开发中使用最广泛的编程语言之一,而Object对象是JavaScript中最为基础且核心的概念之一。...对于任何想要深入学习JavaScript的初学者来说,了解和熟悉Object对象都是不可或缺的第一步。
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. ...
5. **数组操作**:JavaScript中的数组提供了丰富的操作方法,如push、pop、shift、unshift、splice等,熟悉这些方法能提高代码效率。 6. **事件处理**:JavaScript常用于实现页面的交互效果,如按钮点击、表单验证...
7. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的结构表示,JavaScript可以用来遍历、修改或添加DOM元素,从而改变网页内容。 8. **AJAX**:Asynchronous JavaScript and XML,尽管现在不常用XML,但...