最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript 面向?qū)ο螅ǘ┓庋b代碼

 更新時(shí)間:2012年05月23日 17:27:14   作者:  
Javascript 面向?qū)ο螅ǘ┓庋b代碼,需要的朋友可以參考下
寫個(gè)小例子:

第一步:做一個(gè)“手機(jī)的類"
復(fù)制代碼 代碼如下:

var MobilePhone = (function(){
    …………
})()


第二步:考慮這個(gè)類,里需要那些類的私有屬性,這里我想定義的是實(shí)例出來手機(jī)的數(shù)量
復(fù)制代碼 代碼如下:

var MobilePhone = (function(){
//私有屬性
var count = 0; //代表手機(jī)的數(shù)量
})()


第三步:創(chuàng)建一個(gè)構(gòu)造函數(shù),即實(shí)例時(shí)候,對產(chǎn)生的新象的一個(gè)初始化,例如屬性,方法的初始化;在這個(gè)例子中,每一個(gè)手機(jī)都會(huì)有顏色,大小,價(jià)格屬性.這里的構(gòu)造函數(shù)也是一個(gè)閉包,所以可以訪問count,并且count的值會(huì)長期保存在內(nèi)存中(只要有引用存在)

復(fù)制代碼 代碼如下:

var MobilePhone = (function(){
//私有屬性
var count = 0; //代表手機(jī)的數(shù)量
    
    //構(gòu)造函數(shù)
    var creatphone = function(color,size,price){
        count++;
        this._color = color; //手機(jī)的顏色
        this._size = size; //手機(jī)的大小
        this._price = price; //手機(jī)的價(jià)格
        this.index = count; //手機(jī)索引,是第幾臺(tái)創(chuàng)建的手機(jī)手象
     }
})()

第四步:共有方法:
即所有實(shí)例出來的手機(jī)對象,都能使用的方法,這里手機(jī)應(yīng)該可以改變價(jià)格,顏色,大小,也可以顯示大小,顏色,價(jià)格。
這里的共有方法應(yīng)該放在“原型對象”中:
1.所有通過該構(gòu)造函數(shù)實(shí)例的對象,也就是造出的手機(jī),都能使用“原型對象”中的方法。
2.如果放在構(gòu)造函數(shù)中,那么每一次實(shí)例一個(gè)手機(jī)對象出來,都會(huì)產(chǎn)生一堆重復(fù)的方法,占用內(nèi)存。
3."constructor":creatphone解釋:
因?yàn)閏reatphone.prototype ={……}相當(dāng)對把之前的原型對象的引用,給復(fù)蓋掉了。而為了讓原型對象和該構(gòu)造函數(shù)關(guān)聯(lián)起來 設(shè)置了"constructor":creatphone,這個(gè)屬性.
復(fù)制代碼 代碼如下:

var MobilePhone = (function(){
//私有屬性
var count = 0;//代表手機(jī)的數(shù)量
    //構(gòu)造函數(shù)
     var creatphone = function(color,size,price){
        count++;
        this._color = color; //手機(jī)的顏色
        this._size = size; //手機(jī)的大小
        this._price = price; //手機(jī)的價(jià)格
        this.index = count; //手機(jī)索引,是第幾臺(tái)創(chuàng)建的手機(jī)手象
      }
//公有方法,存放在原型對象中
creatphone.prototype = {
      "constructor":creatphone,
      //獲取手機(jī)顏色
"getColor" : function(){
return this._color;
},
      //設(shè)置手機(jī)顏色
"setColor" : function(color){
this._color = color;
},
      //獲取手機(jī)大小
"getSize" : function(){
return "width:"+this._size.width + " height:" + this._size.height;
},
      //設(shè)置手機(jī)大小
"setSize" : function(size){
this._size.width = size.width;
this._size.height = size.height;
},
      //獲取手機(jī)價(jià)格
"getPrice" : function(){
return this._price;
},
      //設(shè)置手機(jī)價(jià)格
"setPrice" : function(price){
this._price = price
}
}
})()

第五步:特權(quán)方法,即需要有一個(gè)方法,能夠去訪問類的私有變量。就是實(shí)例出來多少臺(tái)手機(jī)對象
復(fù)制代碼 代碼如下:

var MobilePhone = (function(){
//私有屬性
var count = 0;//代表手機(jī)的數(shù)量
var index = 0;//代表手機(jī)的索引
    //構(gòu)造函數(shù)
    var creatphone = function(color,size,price){
        count++;
        this._color = color; //手機(jī)的顏色
        this._size = size; //手機(jī)的大小
        this._price = price; //手機(jī)的價(jià)格
        this.index = count; //手機(jī)索引,是第幾臺(tái)創(chuàng)建的手機(jī)手象
      }     //公有方法,存放在原型對象中
creatphone.prototype = {
"constructor":creatphone,
"getColor" : function(){
return this._color;
},
"setColor" : function(color){
this._color = color;
},
"getSize" : function(){
return "width:"+this._size.width + " height:" + this._size.height;
},
"setSize" : function(size){
this._size.width = size.width;
this._size.height = size.height;
},
"getPrice" : function(){
return this._price;
},
"setPrice" : function(price){
this._price = price
}
}
//特權(quán)方法
creatphone.get_count_index = function(){
return count
}
return creatphone;
})()

用上面封裝的一個(gè)手機(jī)類 測試
復(fù)制代碼 代碼如下:

var anycall = new MobilePhone(); //實(shí)例一個(gè)三星手機(jī)對象
var HTC = new MobilePhone(); //實(shí)例一個(gè)HTC手機(jī)對象
var Iphone4s = new MobilePhone(); //實(shí)例一個(gè)蘋果4S手機(jī)對象
console.log("三星是第:"+anycall.index+"臺(tái)"); //FF的控制臺(tái)輸出三星手機(jī)對象是第幾臺(tái)創(chuàng)建的,即索引;
console.log("HTC是第:"+HTC.index+"臺(tái)"); //FF的控制臺(tái)輸出HTC手機(jī)對象是第幾臺(tái)創(chuàng)建的,即索引;
console.log("Iphone4s是第:"+Iphone4s.index+"臺(tái)"); //FF的控制臺(tái)輸出個(gè)蘋果4S手機(jī)對象是第幾臺(tái)創(chuàng)建的,即索引;
console.log("總共造出了"+MobilePhone.get_count_index()+"手機(jī)"); //FF的控制臺(tái)輸出總共創(chuàng)建了幾臺(tái)手機(jī);
console.log(anycall.constructor === MobilePhone); //實(shí)例出來的對象,的原形象中的constructor,是否還指向MobilePhone

結(jié)果如下,全完正確:

  • javascript 寫類方式之五

    javascript 寫類方式之五

    用 構(gòu)造函數(shù)+原型 定義一個(gè)類;同一構(gòu)造函數(shù)可以定義出多個(gè)類型
    2009-07-07
  • JavaScript 類的定義和引用 JavaScript高級培訓(xùn) 自定義對象

    JavaScript 類的定義和引用 JavaScript高級培訓(xùn) 自定義對象

    在Java語言中,我們可以定義自己的類,并根據(jù)這些類創(chuàng)建對象來使用,在Javascript中,我們也可以定義自己的類,例如定義User類、Hashtable類等等。
    2010-04-04
  • JavaScript 類型的包裝對象(Typed Wrappers)

    JavaScript 類型的包裝對象(Typed Wrappers)

    JavaScript 有一套類型的包裝對象,需要的朋友可以參考下。
    2011-10-10
  • JavaScript 繼承使用分析

    JavaScript 繼承使用分析

    繼承,通俗地說,之前你寫過一些類,這些類中有一些是而你現(xiàn)在要寫的類的功能的子集或者基本相同,那么你不用完全重新寫一個(gè)新的類,你可以把之前寫的類拿過來使用.這樣的一種代碼重用過程就叫做繼承
    2011-05-05
  • 從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象)

    從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象)

    從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象),學(xué)習(xí)js的朋友可以參考下
    2012-03-03
  • JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員

    JavaScript 面向?qū)ο蟮闹接谐蓡T和公開成員

    這節(jié)來說下JavaScript的私有成員和公開成員,雖然JavaScript沒有private和public關(guān)鍵字,但還是那句話——作為開發(fā)人員我們要有面向?qū)ο蟮乃枷耄?
    2010-05-05
  • 面向?qū)ο蟮木幊趟枷朐趈avascript中的運(yùn)用上部

    面向?qū)ο蟮木幊趟枷朐趈avascript中的運(yùn)用上部

    對于正在從事或者打算從事編程的人來說,面向?qū)ο笫且粋€(gè)耳熟能詳?shù)脑~,幾乎每一個(gè)人都能列舉出一些面向?qū)ο蟮木幊陶Z言,例如C++,JAVA,C#等等。
    2009-11-11
  • 最新評論

    衡水市| 五台县| 龙井市| 和平县| 扬中市| 广德县| 维西| 凤山县| 扬州市| 专栏| 绩溪县| 尤溪县| 阿克| 开封县| 恭城| 新昌县| 兴宁市| 高陵县| 柳林县| 云霄县| 武强县| 大厂| 宁安市| 鹿邑县| 河源市| 庆元县| 胶州市| 崇阳县| 旬邑县| 武威市| 基隆市| 滦平县| 赤城县| 寿阳县| 宁武县| 简阳市| 扶沟县| 股票| 怀安县| 中方县| 邹城市|