`
caibinghong
  • 浏览: 149874 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

javascript 面向对象写法

 
阅读更多

//原型方法
function ClassA(){

}
ClassA.prototype = {
color:'red',
sayColor:  function (){
alert(this.color);
}
}

function ClassB(){
this.name = "";
this.sayName = function(){
alert(this.name);
}
}
ClassB.prototype = new ClassA();

var objA = new ClassA();
var objB = new ClassB();


objA.color = 'red';
objB.color = 'blue';

objB.name = 'caibinghong';

objA.sayColor();
objB.sayColor();// b类通过原型的方法 继承  A 类
objB.sayName();


//对象冒充  方法实继承
function person(){
this.name = 'person';
this.getName = function(){
alert(this.name);
}
}
function worker(name,age){
//对象冒充继承
this.constructor = person;
this.constructor(name);
delete this.constructor;

this.name = name||'caibinghong';
this.age = age||'2012';
this.getAge = function(){
alert(this.age);
}
}


var man = new person();
var xiaofan = new worker('xiaofan',28);


man.getName();
xiaofan.getName();
xiaofan.getAge();


// call 方法实继承


 var ClassC = function(sColor,tt){
this.color = sColor;
this.tt = tt;
this.sayColor = function (){
alert(this.color+this.tt);
}
}
var ClassD = function(sColor,sName){
ClassC.call(this,sColor,sName);//call 方法继承 传参 只能 以逗号隔开

this.name = sName;
this.sayName = function(){
alert(this.name);
}
}


var objC = new ClassC('___red','_cc : call  方法 传参 只能 以逗号隔开');
var objD = new ClassD('___blue','___D_caibinghong : call  方法 传参 只能 以逗号隔开');


objC.sayColor();
objD.sayColor();
objD.sayName();


// apply 方法实继承


 var ClassE = function(sColor,tt){
this.color = sColor;
this.tt = tt;
this.sayColor = function (){
alert(this.color+this.tt);
}
}
var ClassF = function(sColor,sName){
ClassE.apply(this,[sColor,sName]);//apply 方法继承 传参 只能数组

this.name = sName;
this.sayName = function(){
alert(this.name);
}
}


var objE = new ClassC('___red','____ee : apply  方法 传参 只能数组');
var objF = new ClassD('___blue','___F_caibinghong : apply  方法 传参 只能数组');


objE.sayColor();
objF.sayColor();
objF.sayName();




//根据上面的几种方法,下面来整合一下.
var  fdauto = function (age){ 
this.age = age;

fdauto.prototype = { 
getAge:function (){
alert(this.age);
}
}
var fdAm = function (age,name){
fdauto.call(this,age);//构造??
this.name = name;
}


fdAm.prototype = new fdauto();//继承??  这里有点不是很明白
fdAm.prototype.getName=function (){
alert(this.name);
};




var _fdauto = new fdauto(12);
var _fdAm = new fdAm(10,'the am of fdauto!!');


_fdauto.getAge();
_fdAm.getAge();

_fdAm.getName();

 

 

91百色都市

91环球网

91时尚资讯

 

 

 

分享到:
评论

相关推荐

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    JavaScript面向对象编程指南(第2版).rar

    JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。

    js面向对象的写法

    以下将详细介绍标题和描述中提到的四种常见的JavaScript面向对象写法以及`this`关键字的使用。 1. **工厂模式** 工厂模式是通过函数来创建对象,它不直接关联构造函数。在给定的例子中,`Circle`函数创建了一个新...

    JavaScript面向对象基础PPT

    JavaScript面向对象基础PPT,讲述了何谓面向对象、面向对象特点、组成及写法、工厂模式、原型以及如何将普通面向过程的代码转换为面向对象的基本原则

    选项卡改变为面向对象写法后,复用和增加方法.md

    面向对象写的一个点击选项卡,复用这个面向对象写法,同时为不同的添加不一样的方法

    JavaScript面向对象程序程序设计PPT与代码

    JavaScript是一种广泛应用于Web开发的脚本语言,尤其在构建交互式网页和...这份"JavaScript面向对象程序程序设计PPT与代码"资源将详细解释这些概念,并可能包含实际示例,帮助你深入理解和应用这些面向对象编程技术。

    MooCSS模块化面向对象的css写法

    《MooCSS:模块化面向对象的CSS写法详解》 在现代Web开发中,CSS已经从简单的样式语言发展为复杂、高效的样式管理系统。MooCSS(Module-Oriented Object CSS)是一种基于模块化和面向对象思想的CSS编写方式,旨在...

    《JavaScript内核系列》和《JavaScript面向对象基础》

    《JavaScript内核系列》和《JavaScript面向对象基础》这两本书籍是深入理解JavaScript语言核心机制和面向对象编程的重要参考资料。JavaScript作为一种广泛应用于Web开发的脚本语言,其内核和面向对象特性对于开发者...

    高级面向对象写法[收集].pdf

    本文档主要探讨了高级的面向对象写法,包括类的创建、继承、混入和实例化,以及模块化、沙盒机制、模块间解耦和按需加载等主题。 1. **创建类、继承、混入、实例化** JavaScript并非基于类的语言,而是基于原型。...

    讲解JavaScript的面向对象的编程

    本人一行注释一行代码翻译了该大师的艺术作品--目的说明它是在第1,2阶段文档演示的JavaScript面向对象的书写方式的进一步改进,它是现代JavaScript面向对象编程方式(使用基本类来编码)的过渡代码--没有它就没有当今...

    javascript 面向对象程序设计博客文章

    尽管JavaScript的原始OOP机制基于原型,但ES6引入了类语法,它提供了一种更接近传统面向对象语言的写法,但底层仍然基于原型。类的实例化、继承、静态方法等都可以通过类语法实现。 9. **模块系统** JavaScript有...

    Javascript 面向对象 对象(Object)

    ### JavaScript面向对象编程之对象(Object) #### 一、引言 JavaScript 作为一种广泛使用的脚本语言,在 Web 开发中占据着举足轻重的地位。它不仅支持传统的过程式编程,还具备面向对象编程(OOP)的能力。面向对象...

    简单的选项卡改变为面向对象的写法的一点学习经验总结.md

    写选项卡的时候,要改变为面向对象的写法,面向兑现的写法更容易扩展或者维护,这里是文章的Markdown文档,需要的可以下载浏览,如有错误,欢迎指出 谢谢

    js面向对象方法实现拖拽特效

    在"拖拽面向对象写法"的文件中,应该包含了实现上述功能的代码示例。通过分析和学习这个示例,你可以更好地理解如何在JavaScript中结合面向对象和拖拽特效。同时,这也将帮助你掌握如何通过继承扩展已有功能,从而...

    原生js实现无缝轮播(包括面向对象的写法)

    本教程将深入探讨如何使用原生JavaScript实现一个无缝轮播效果,同时结合面向对象编程思想进行代码组织,提高代码复用性和可维护性。 ### 1. 基本思路 无缝轮播的核心在于通过改变图片的位置或CSS属性,使得用户...

    归纳下js面向对象的几种常见写法总结

    JavaScript面向对象编程是一种编程范式,它围绕对象——一种包含属性和方法的实例——来组织代码。在JavaScript中,对象可以使用多种方式创建,每种方式都有其特点和适用场景。本文将总结几种常见的JavaScript面向...

    JavaScript面向对象编写购物车功能

    之前的项目中需要一个购买数据商品并付款的功能,刚开始一直不敢使用面向对象的写法,主要是没有理清思路,而且那时的数据商品比较的复杂,就一直没敢动,在网上也找些面向对象的写法,把思路理清一遍,就想自己试着...

    javascript对象参考手册

    10. **类与继承**:ES6引入的类是基于原型的语法糖,它提供了更接近传统面向对象编程的写法。类支持继承,通过`extends`关键字,一个类可以继承另一个类的属性和方法。 以上只是JavaScript对象涉及的一部分知识点,...

    JavaScript类的写法

    早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...

Global site tag (gtag.js) - Google Analytics