一、创建对象

  1.1初始化器

var any={
name:"some",
age:10,
action:function(){
alert(this.name+":"+this.age);
}
};

  1.2构造方法

function some(name,age){
this.name=name;
this.age=age;
this.action=function(){
alert(this.name+":"+this.age);
}
} var aa = new some("bb",5);
aa.action();

  1.3属性

function C(){
this.objPro = "对象属性";
C.prototype.objPro2="对象属性2";
var privateObj = "私有属性";
} C.classPro = "类属性";

  1.4对象方法

function C(){
var privateFun = function(){
alert("私有方法");
}
this.objFun = function(){
alert("对象方法");
}
this.prototype.objFun = function(){
alert("对象方法");
}
} C.classFun = function(){
alert("类方法");
}

二、封装

var any={
name:"some",
age:10,
action:function(){
alert(this.name+":"+this.age);
}
};

三、继承

  3.1Dog还是Dog

function Animal(name,age){

}

function Dog(name,age){
Animal.apply(this,[name,age]);
}

  3.2Dog变成Animal了

function Animal(name,age){

}

function Dog(name,age){
Animal.apply(this,[name,age]);
} Dog.prototype=new Animal();

四、多态

function Animal(name,age){
this.say=function(){ }
} function Dog(name,age){
this.say=function(){ }
} Dog.prototype = new Animal(); function Cat(name,age){
this.say=function(){ }
} Cat.prototype = new Animal(); function say(){
if(animal instanceof Animal){
animal.say();
}
}

Javascript高级篇-面向对象的特性的更多相关文章

  1. JavaScript高级篇之Function对象

    JavaScript高级篇之Function对象 一: Function对象引入: Function对象是js的方法对象,可以用Function实例化出任何js方法对象. 例如: <%@ pag ...

  2. Javascript高级程序设计——面向对象之理解对象

    在面向对象语言中都有类的概念,通过类来创建具有属性和方法的对象.而ECMAScript中没有类的概念,ECMAScript中定义了对象:无需属性的集合,其属性值可以包含基本值.对象.或者函数. 在Ja ...

  3. JavaScript 高级篇之闭包、模拟类,继承(五)

    本篇主要分享我对闭包的理解及使用闭包完成私有属性.模拟类.继承等,结合大量例子,希望大家能快速掌握!首先让我们先从一些基本的术语开始吧     一.javascript中的闭包 1.我们一起先来理解什 ...

  4. Javascript高级程序设计——面向对象小结

    ECMAScript支持面向对象编程,对象可以在代码执行时创建,具有动态扩展性而非严格意义上的实体. 创建对象方法: 工厂模式:简单的函数创建引用类型 构造函数模式:可以创建自定义引用类型,可以想创建 ...

  5. JavaScript高级与面向对象

    对象:任何事物都可以看作是对象. 1.面向对象与面向过程的概念 面向过程:凡是自己亲力亲为,自己按部就班的解决现有问题. 面向对象:自己充当一个指挥者的角色,指挥更加专业的对象帮我解决问题. 联系:面 ...

  6. 2020/06/06 JavaScript高级程序设计 面向对象的程序设计

    ECMAScript虽然是一种面向对象的语言,但是他没有类的概念.所以他的对象也与其他语言中的对象有所不同. ECMA-262定义对象:一组没有特定顺序的值. 6.1 理解对象 创建对象的方法: 1. ...

  7. Javascript高级篇-JS闭包

    Javascript闭包 1.变量的作用域 1.1局部变量 1.2全局变量(声明在外边或不用var来声明的变量) 2.外部读取方法内部的局部(私有)变量 function a(){ var b = & ...

  8. JavaScript 高级之面向对象

    1. 对象属性及方法 创建对象的方式 <script> //创建对象的方式一 var obj = {}; //创建对象的方式一 var obj = new Object(); </s ...

  9. Javascript高级程序设计——面向对象之实现继承

    原型链: 构造函数中都有一个prototype属性指针,这个指针指向原型对象,而创建的实例也有指向这个原型对象的指针__proto__.当实例查找方法时先在实例上找,找不到再通过__proto__到原 ...

随机推荐

  1. hdu 携程全球数据中心建设 (球面距离 + 最小生成树)

    题目 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib&g ...

  2. axis : java.lang.NoSuchMethodError

    Hi friends,Iam getting the following error when deploying my app in jboss error.Iam new to axis .can ...

  3. 函数xdes_set_bit

    /**********************************************************************//** Sets a descriptor bit of ...

  4. 基于XMPP的即时通信系统的建立(四)— 组件介绍

    服务端 服务器 许可证 操作系统 是否支持任意客户端登录 备注 ejabberd 开源 Elang 是 支持虚拟主机和集群 Openfire Apache Java 是 Tigase GPLv3 Ja ...

  5. JS兼容性问题(FF与IE)

    不同浏览器中js兼容问题大全 1.document.formName.item('itemName')问题 说明: //IE下(两种) document.formName.item("ite ...

  6. uva 10054 The Necklac(欧拉回路)

    明显的欧拉回路,把颜色作为点,建图后,做一遍欧拉回路.不过我是现学的,打印路径上纠结了一下,发现随着FindEuler()的递归调用的结束,不断把点压入栈中,从后向前打印,遇到"支路&quo ...

  7. 【C#学习笔记】鼠标控制

    using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ConsoleApp ...

  8. Windows环境自动获取AWR报告

    1.双击awr.cmd,通过cmd窗口运行awr.sql cmd.exe /c sqlplus lcam_1230/zcpzg1z_1230@54_orcl @awr.sql awr.cmd 2.aw ...

  9. Android-AnimationDrawable(二)

    首先可以先定义一个逐帧播放的xml: <?xml version="1.0" encoding="utf-8"?> <animation-li ...

  10. System Services -> Memory Management -> About Memory Management

    Virtual Address Space Memory Pools Memory Performance Information Virtual Memory Functions Heap Func ...