手机版

面向对象的Javascript-封装

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

第一步:是做一个“类手机”

var mobile phone=(function(){ 0..})()第二步:考虑这个类,它需要那些类的私有属性。这里我要定义的是实例化的手机数量。

var mobile phone=(function(){//private属性var count=0;//代表手机数量})()第三步:创建构造函数,即对生成的新图像进行初始化,比如属性和方法的初始化;在这个例子中,每部手机都有颜色、尺寸和价格属性。这里的构造函数也是闭包,所以可以访问count,count的值会长期存储在内存中(只要有引用)

var mobile phone=(function(){//private属性var count=0;//代表手机数量//构造函数var creatphone=function(颜色、尺寸、价格){ count这个。_ color=color//手机这个的颜色。_ size=size//手机的大小这个。_价格=价格;//手机价格this.index=count//手机索引,创建了哪个手机手形}}))()第四步:常用方法:

也就是说,所有的手机对象都可以使用。在这里,手机应该可以改变价格、颜色和尺寸,也可以显示尺寸、颜色和价格。

这里的常用方法应该放在“原型对象”中:

1.所有通过这个构造器实例的对象,也就是创建的手机,都可以使用“原型对象”中的方法。

2.如果放在构造器里,每次手机对象出来,都会产生一堆重复的方法,占用内存。

3.构造函数' :creatphone解释:

因为creatphone。原型={ 0.}相当于覆盖了之前原型对象的引用。为了将原型对象与构造函数相关联,设置了属性“构造函数”:creatphone。

var mobile phone=(function(){//private属性var count=0;//代表手机数量//构造函数var creatphone=function(颜色、尺寸、价格){ count这个。_ color=color//手机这个的颜色。_ size=size//手机的大小这个。_价格=价格;//手机价格this.index=count//手机索引,是创建的手机手形图像的公共方法}//,存储在prototype对象中,creat phone . prototype={ ' constructor ' : creat phone,//获取手机颜色' getcolor ' : function(){ return this。_颜色;},//设置手机颜色' setcolor' :功能(颜色){this。_ color=color},//获取phone size' getsize' :函数(){return' width :' this。_ size.width' height : '这个。_ size.height},//设置手机大小' setsize' :函数(大小){this。_ size . width=size . width;这个。_ size . height=size . height;},//获取电话价格' getprice ' : function(){ return this。_价格;},//设置手机的价格'设置价格' :功能(价格){这个。_ price=price}}})))第五步:Privileged方法,也就是需要有一个方法来访问类的私有变量。它是多少移动电话对象的例证

var mobile phone=(function(){//private属性var count=0;//代表手机数量。var索引=0;//代表手机的索引//构造函数var creatphone=function(颜色、大小、价格){ count这个。_ color=color//手机这个的颜色。_ size=size//手机的大小这个。_价格=价格;//手机价格this.index=count//手机索引,是创建的手机手形图像的公共方法}//,存储在prototype对象:creat phone . prototype={ ' constructor ' : creat phone,' getcolor ' : function(){ return this。_颜色;},' setColor' :函数(color){ this。_ color=color},' getSize' :函数(){ return 'width:' this。_size.width ' height: '这个。_ size.height},' setSize' :函数(大小){ this。_ size . width=size . width;这个。_ size . height=size . height;},' getPrice' :函数(){返回这个。_价格;},'设置价格' :函数(价格){this。_ price=price } }//特权方法creatphone。get _ count _ index=function(){ return count } return create phone;})()是用上面封装的手机类测试的

var any call=new mobile phone();//三星手机对象的实例var HTC=new mobile phone();HTC手机对象的实例var Iphone4s=new mobile phone();//实例一个苹果4S手机对象console . log(‘三星是第一个:‘any call . index’);//FF的控制台输出创建了哪个三星手机对象,即indexConsole.log('HTC是第一个:' HTC . index ');//FF控制台输出HTC手机对象是哪一个被创建的,即索引;Console.log('Iphone4s是第一个:' iphone 4s . index ');//FF的控制台输出创建了哪个苹果4S手机对象,即索引;Console.log('共' MobilePhone.get_count_index()'手机');//FF的控制台输出一共创建了几部手机;console . log(any call . constructor===mobile phone);//来自实例的对象的原始图像中的构造函数是否仍然指向MobilePhone如下,都是正确的:

以上就是本文的全部内容,希望对大家有所帮助。感兴趣的朋友可以阅读《Javascript之面向对象--方法》。感谢大家的支持!

版权声明:面向对象的Javascript-封装是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。