一、创建对象

  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. bzoj2489

    这种题完全可以暴力找规律,暴力打表各种搞法 这里有一篇比较全面的题解:http://acm.uestc.edu.cn/bbs/read.php?tid=3698&page=1&tore ...

  2. codeforces 681D Gifts by the List dfs+构造

    题意:给你一个森林,表示其祖先关系(自己也是自己的祖先),每个人有一个礼物(要送给这个人的固定的一个祖先) 让你构造一个序列,使得的对于每个人,这个序列中第一个出现的他的祖先,是他要送礼物的的那个祖先 ...

  3. 《Python基础教程(第二版)》学习笔记 -> 第七章 更加抽象

    对象的魔力 多态:意味着可以对不同类的对象使用同样的操作: 封装:对外部世界隐藏对象的工作细节: 继承:以普通的类为基础建立专门的类对象 多态① 多态和方法绑定到对象特性上面的函数称为方法(metho ...

  4. 修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题

    使用“RAM Manager”修改“虚拟机堆大小”为某一个阀值 xxMB大小 修改 AndroidManifest.xml 里的 Application 标签的属性 android:largeHeap ...

  5. <转>配置DNS辅助服务器:DNS系列之四

    配置DNS辅助服务器   在前面的博文中,我们介绍了如何在DNS服务器中创建常用的DNS记录,本文中我们要为大家介绍如何配置DNS的辅助服务器,同时也要介绍一下和辅助区域类似的存根区域. DNS辅助服 ...

  6. opencv行人检测里遇到的setSVMDetector()问题

    参考了博客http://blog.csdn.net/carson2005/article/details/7841443 后,自己动手后发现了一些问题,博客里提到的一些问题没有解决 ,是关于为什么图像 ...

  7. 谈谈作为一个菜B的培训感受

    培训的目的是为了让新员工更快的适应当前的工作,尽快的跟上前辈的步伐,从而能全身心的投入到当前的工作当中.感觉在培训的时候需要注意以下的几个问题: 1. 新员工必须在意识上认同当前的工作 如今的项目组也 ...

  8. python 入门实践之网页数据抓取

    这个不错.正好入门学习使用. 1.其中用到 feedparser: 技巧:使用 Universal Feed Parser 驾驭 RSS http://www.ibm.com/developerwor ...

  9. lighttpd mod_status模块

    用过nginx的status可以查看服务器的状态,之后就想lighttpd有没有这样的模块呢 之后看下配置文件,真的有,然后就试下 第一步, "mod_auth" 把这个前面的#号 ...

  10. oc_转_NSInteger 和 NSNumber

    Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的 ...