javascript学习笔记[6]--面向对象
2013-01-30 22:12
176 查看
今天又是宅在家中一天,看了面向对象编程,包含以下几个章节,创建类和使用类,类成员访问控制,继承和组合,静态成员和静态类,多态,原型链本质论。因为已经有了学习其他面向对象语言的经历,所以这边看的速度快了点,预计明天开始进入javascript内建类。
有一件略微忧伤的事,昨天写的学习笔记【5】--函数2被博客园移出首页了,估计是那管理员看我一天发了三篇随笔,而且深度不够吧,所以看不下去了,却弄得我好忧伤,好忧伤,好了,这一节就尽量写的长一点,然后多一些自己的理解吧,简单的知识就不说了,哎,这种学习性的东西其实就是这样。。
6.1面向对象--基础概念
这里我不仔细说了,就罗列一些基础知识点:
对象,实例,类(对象时类的实例)
优点:可重用,易维护
基本特征:封装,继承,多态(类一个方法多种形态),(抽象)
6.2 创建类--构造器方法
使用函数创建类,函数本身也被称为该类的构造器(也称为构造器方法,构造方法)。
javascript是基于原型的面向对象----important.
View Code
在新类中覆盖基类的方法---覆盖,只需要为子类新定义一个同名的方法成员即可实现覆盖。就不写代码了。
6.9 原型链本质论-----重点
这里我也有很多东西不知道,所以多写一些,大家一起学习吧。知识点如下:
每个类都有一个prototype属性(静态属性),该属性值标示该类的一个对象,即原型对象。
原型对象上定义的属性中就有关于基类的信息,然后基类上的prototype也有它的基类信息,这样就建立了一个链条----原型链(prototype chain)--继承关系引起的
原型链的尽头是Object的原型对象,该对象的内部prototype的值为null。
ECMA-262规定:类定义的时候,它有原型对象,包好一些内部特定的属性,作为类的特性,其中两个内部属性就是【prototype】(该类的父类的原型对象)和【class】(类名)。在非ie浏览器中可以用_proto_访问,例如:
Array.prototype._proto_ == Object.prototype.
原型链的组成部分:实现继承和分享属性(看一下上面的代码就知道了)
下面是几个方法:
Object.getPrototypeOf()方法等到指定对象的prototype属性,替代_proto_属性
Class.prototype.isPrototype(object),查看对象是否在指定对象的原型链中。
oObject.hasOwnProperty(propName),查看指定对象是否定义了特定属性
Object.propertyIsEnumerabel(),查看指定的属性是否存在以及是否可枚举。
就这些吧,挺晚了。明天继续。
以上全部都属个人原创,请大家转载的时候附上原创链接: http://www.cnblogs.com/tonylp
有一件略微忧伤的事,昨天写的学习笔记【5】--函数2被博客园移出首页了,估计是那管理员看我一天发了三篇随笔,而且深度不够吧,所以看不下去了,却弄得我好忧伤,好忧伤,好了,这一节就尽量写的长一点,然后多一些自己的理解吧,简单的知识就不说了,哎,这种学习性的东西其实就是这样。。
6.1面向对象--基础概念
这里我不仔细说了,就罗列一些基础知识点:
对象,实例,类(对象时类的实例)
优点:可重用,易维护
基本特征:封装,继承,多态(类一个方法多种形态),(抽象)
6.2 创建类--构造器方法
使用函数创建类,函数本身也被称为该类的构造器(也称为构造器方法,构造方法)。
javascript是基于原型的面向对象----important.
View Code
function overLoadTest(){ var len = arguments.length; if(len == 2){ if(typeof(arguments[0]) =="number" && typeof(arguments[1]) == "number"){ //执行函数 }else if(typeof(arguments[0]) =="string" && typeof(arguments[1]) == "string"){ }else{ throw new Error("两个参数类型不对"); } } if(len == 3){ if(){ }else if(){ }else{ } } }
在新类中覆盖基类的方法---覆盖,只需要为子类新定义一个同名的方法成员即可实现覆盖。就不写代码了。
6.9 原型链本质论-----重点
这里我也有很多东西不知道,所以多写一些,大家一起学习吧。知识点如下:
每个类都有一个prototype属性(静态属性),该属性值标示该类的一个对象,即原型对象。
原型对象上定义的属性中就有关于基类的信息,然后基类上的prototype也有它的基类信息,这样就建立了一个链条----原型链(prototype chain)--继承关系引起的
原型链的尽头是Object的原型对象,该对象的内部prototype的值为null。
ECMA-262规定:类定义的时候,它有原型对象,包好一些内部特定的属性,作为类的特性,其中两个内部属性就是【prototype】(该类的父类的原型对象)和【class】(类名)。在非ie浏览器中可以用_proto_访问,例如:
Array.prototype._proto_ == Object.prototype.
原型链的组成部分:实现继承和分享属性(看一下上面的代码就知道了)
下面是几个方法:
Object.getPrototypeOf()方法等到指定对象的prototype属性,替代_proto_属性
Class.prototype.isPrototype(object),查看对象是否在指定对象的原型链中。
oObject.hasOwnProperty(propName),查看指定对象是否定义了特定属性
Object.propertyIsEnumerabel(),查看指定的属性是否存在以及是否可枚举。
就这些吧,挺晚了。明天继续。
以上全部都属个人原创,请大家转载的时候附上原创链接: http://www.cnblogs.com/tonylp
相关文章推荐
- 韩顺平 javascript教学视频_学习笔记19_js面向对象三大特征(封装,继承,多态)
- JavaScript 学习笔记十三 面向对象?
- html5学习笔记---05.JavaScript 中的面向对象,继承和封装
- Javascript 面向对象 学习笔记
- JavaScript面向对象入门学习笔记——变量的作用域
- 学习笔记:JavaScript面向对象(20180218-1)
- html5学习笔记---05.JavaScript 中的面向对象,继承和封装
- ajax学习笔记一:面向对象的javascript
- javascript面向对象学习笔记(三)——继承
- JavaScript 学习笔记十三 面向对象?
- JavaScript学习笔记6 面向对象之继承
- javascript面向对象学习笔记2010.7.16
- javascript面向对象学习笔记(四)——常用方法/属性
- javascript面向对象学习笔记——创建对象(转)
- JavaScript学习笔记-面向对象的模块化编程
- JavaScript面向对象学习笔记——闭包
- JavaScript 学习笔记(1):关于函数、对象以及面向对象
- javascript面向对象学习笔记(一)——继承
- javascript学习笔记 (四)-面向对象的实现
- javascript面向对象学习笔记(二)——创建对象