天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript 寫類方式之一

EMCA262規范中沒有類(class)的概念,js的new只是讓他看起來更像c++,Java一點。這里說的寫類,只是書寫js代碼風格而已。
1、構造函數方式
復制代碼 代碼如下:
/**
* Person類:定義一個人,有個屬性name,和一個getName方法
* @param {String} name
*/
function Person(name) {
this.name = name;
this.getName = function() {
return this.name;
}
}

這種風格讓我們這些寫過Java的有點親切在于構造一個對象需要配置一些參數,參數要賦值給類里面this。但與Java的區別是js用function來定義類,參數也無需定義類型。

類寫好了,我們造幾個對象:
復制代碼 代碼如下:
var p1 = new Person("Jack");
var p2 = new Person("Tom");
console.log(p1 instanceof Person);//true
console.log(p2 instanceof Person);//true

控制臺輸出也證明了p1,p2的確是類Person的對象實例。

這種方式的優點是:可以根據參數來構造不同的對象實例 ,缺點是構造時每個實例對象都會生成getName方法版本,造成了內存的浪費 。

當然經驗豐富的程序員用一個外部函數來代替類方法,達到了每個對象共享同一個方法。改寫后的類如下:
復制代碼 代碼如下:
//外部函數
function getName() {
return this.name;
}

function Person(name) {
this.name = name;
this.getName = getName;//注意這里
}

呵呵,有人可能覺得代碼風格有點差強人意,怎么看也沒有Java那么緊湊。但的確可以減少內存的消耗。

JavaScript技術javascript 寫類方式之一,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产99小视频 | 国产精品九九九久久九九 | 成人国产精品免费网站 | 久久久久青草大香线综合精品 | 久久免费精品视频 | 国产AV99激情久久无码天堂 | 浓毛BWBWBWBWBW日本 | 精品无码国产AV一区二区三区 | 特污兔午夜影视院 | 果冻传媒视频在线播放 免费观看 | 99精品视频免费观看 | 啦啦啦WWW在线观看免费高清版 | 992交通广播 | 最近日本字幕MV免费观看在线 | 97精品国产高清在线看入口 | 色橹橹欧美在线观看视频高清 | 在线免费观看日本 | 久久se精品一区二区国产 | 九色PORNY蝌蚪视频首页 | 青青草狠狠干 | 欧美激情视频一区二区 | 国产成人精品s8p视频 | 青柠在线观看免费播放电影 | 久久综合电影 | 国产在线一区二区三区四区 | 嫩草在线播放 | 国产高清超清在线播放 | 麻豆XXXX乱女少妇精品 | 免费毛片a在线观看67194 | 中文字幕亚洲综合小综合在线 | 天天躁日日躁狠狠躁午夜剧场 | 神马影院午夜伦理限级 | 热久久伊大人香蕉网老师 | 国产午夜永久福利视频在线观看 | 亚洲精品永久免费 | 亚洲人成在线播放网站岛国 | 日韩亚洲中文欧美在线 | 暖暖日本在线手机免费完整版 | 第一次破女初国产美女 | 人人超碰97caoporen国产 | 久久99精品国产免费观看 |