寫一個(gè)JS class時(shí),如 [Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]為了容易理解代碼,以及更好的區(qū)分public和private的變量,我通常用set...方法(...為某(些)成員 " /> 久久日本片精品AAAAA国产,色翁荡熄月月,美国色吧影院

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

js defineSetter -給js的 "class"自動(dòng)增加一個(gè)set的屬性(方法)

寫注釋不是我的強(qiáng)項(xiàng),有什么問(wèn)題請(qǐng)?jiān)谠u(píng)論中寫出來(lái):D

寫一個(gè)JS class時(shí),如

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
為了容易理解代碼,以及更好的區(qū)分public和private的變量,我通常用set...方法(...為某(些)成員變量)來(lái)賦值給類的成員。這些set方法當(dāng)然就是public的。還有一點(diǎn)就是使代碼能夠更規(guī)范一些。

然而問(wèn)題就出在這里,如果以上代碼不考慮驗(yàn)證有效性(或者只驗(yàn)證簡(jiǎn)單的有效性),那我們就會(huì)多出很多的代碼,試想一個(gè)類有20個(gè)成員(屬性),那么我們就得加20個(gè)set...方法,實(shí)在多余,因此,要想辦法來(lái)解決這個(gè)問(wèn)題。

回憶在Mozilla中,有__defineSetter__和__defineGetter__的方法來(lái)給DOM增加成員,給開(kāi)發(fā)人員帶來(lái)很多方便。我們也來(lái)仿一個(gè)js版的__defineSetter。

簡(jiǎn)單的思路:
利用JS動(dòng)態(tài)給對(duì)象增加方法(或?qū)傩裕?
但類中方法不必再添加set...此類方法。
非[a-z]區(qū)間的屬性也不再添加set...此類方法。

寫出實(shí)現(xiàn)代碼

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
基本實(shí)現(xiàn)了_defineSetter,而我們要一個(gè)個(gè)的defineSetter豈不是太麻煩了。既然已經(jīng)實(shí)現(xiàn)了原型,那么用原型來(lái)動(dòng)態(tài)綁定到Function對(duì)象上,一行代碼就解決了set..方法了。
Function.prototype.defineAllSetter = function (hdle) {

  for (var i in this.prototype)
  _defineSetter.apply(this, [this,i,hdle]);

  return this;

};

接下來(lái)就是再綁定一個(gè)defineSetter給Function對(duì)象。

Function.prototype.defineSetter = function (p, hdle) {

  return _defineSetter.apply(this, 
  [this].concat(Array.prototype.slice.call(arguments,0)));

};

OK!基本完成想要的功能。try it...

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]本例DEMO及全部代碼:
http://www.never-online.NET/code/js/defineSetter/

當(dāng)然,我們還可以加入驗(yàn)證~,具體的代碼我就不再多寫了,呵呵,已經(jīng)實(shí)現(xiàn)了,有興趣的朋友也試著玩一下:D。 

JavaScript技術(shù)js defineSetter -給js的 "class"自動(dòng)增加一個(gè)set的屬性(方法),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久精品视频3 | 免费韩伦影院在线观看 | 亚洲大片免费观看 | 亚洲综合色在线视频久 | 国产无遮挡色视频免费观看性色 | 国产精品无码无卡毛片不卡视 | 97国产精品人妻无码免费 | 亚洲国产欧美国产综合在线 | 玉娇龙续集春雪瓶txt免费阅读 | 超碰久久国产vs | 99热久这里都是精品小草 | 一个人HD高清在线观看免费视频 | 国产精品青草久久福利不卡 | 亚洲精品中文字幕无码A片蜜桃 | 美女穿丝袜被狂躁动态图 | 亚洲午夜久久久无码精品网红A片 | 美女与男人对肌免费网站 | 国产一卡2卡3卡4卡孕妇网站 | 男男被强bl高h文 | 在线免费观看成年人视频 | 亚洲精品国产高清嫩草影院 | 99热久这里都是精品小草 | 51国产偷自视频在线视频播放 | 久色乳综合思思在线视频 | 纯肉腐文高H总受男男 | 野草观看免费高清视频 | 久久电影精品 | 精品亚洲国产成AV人片传媒 | 老熟女毛茸茸浓毛 | 妹妹的第一次有点紧 | 国产高清视频在线观看97 | 微拍秒拍99福利精品小视频 | 日韩欧美 亚洲视频 | 91精品视频网站 | 2019香蕉在线观看直播视频 | 思思99精品国产自在现线 | 久久天天躁狠狠躁夜夜呲 | 爽爽窝窝午夜精品一区二区 | 亚洲444777KKK在线观看 | 精品无人区一区二区三区 | 99久久国产免费福利 |