欢迎来到天天文库
浏览记录
ID:51690097
大小:39.95 KB
页数:3页
时间:2020-03-15
《Javascript系列教程面向对象讲解.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Javascript系列教程:面向对象讲解(四)距离上个面向对象讲解已经将近两个月了,一直忙于项目了;最近一段时间对JS的使用也增加了对面向对象的理解,因此这篇文章是对若干知识点的梳理,本身不在系统列教程中。私有属性、实例属性、类属性–这段知识是基于网上流传的李赞红的JS-OOP.ppt讲解的。·私有属性只能在构造函数内部定义与使用;·实例属性必须在对象实例化后使用;·类属性直接通过类名去使用例:1、私有属性varMe={ _name:"WangHongjian", _age:23} 调用方法:
2、Me._name,假如现在声明另一个空对象Her,由于作用域Her无法调用_name属性。2、实例属性:实例属性可以有两种声明方式,一是通过原型函数prototype声明;另一种是通过this关键字声明的。varMe=function(){ this._age=23; this._name="WangHongjian"; Me.prototype._sayHi=function(){ alert("Hello,everybody");
3、 }}varM=newMe();alert(M._name+"'sageis"+M._age);M._sayHi(); 3、类属性:直接通过类名去使用varMe={};Me.sayHi="Hi,everybody!");alert(Me.sayHi); 私有方法、实例方法、类方法与属性相对应,方法也可分为私有、实例、及类方法。私有方法只可在对象中使用;实例方法必须在对象实例化后才能使用;类方法可以直
4、接通过类名使用。1、私有方法varMe={ _sayHi:function(){ alert("Hello,everybody!"); }}Me._sayHi(); 2、静态方法:语法及使用与静态属性类似varMe=function(){ this.sayHi=function(){ alert("Hello,everybody!"); }; Me.proto
5、type.readBook=function(){ alert("人生若只初相见,何事秋风悲画扇?"); };}varM=newMe();M.sayHi();M.readBook(); 3、类属性varMe={}; Me.sayHi=function(){ alert("Hi,everybody!");}Me.sayHi(); 原理理解可以借鉴C#中的知识:C#静态成员1)、静态成员属于类所有、非静态
6、成员属于类的实例所有;2)、每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;3)、非静态成员属于类所有,为各个类的实例所公用;4)、无论类创建了多少实例,类的静态成员在内在中只占同一区域。C#静态方法1)、C#静态方法属于类所有,类实例化后即可使用;2)、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;3)、静态方法在类实例化前就可以使用,而烦躁的非静态变量必须在实例化之后才能分配内存。(也即C#静态方法调用时无法判断非静态变量使用的内在存地址,所以无法使用。而静态
7、变量的地址对类来说是固定的,都可以使用。)
此文档下载收益归作者所有