寫一個JS class時,如 [Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]為了容易理解代碼,以及更好的區(qū)分public和private的變量,我通常用set...方法(...為某(些)成員 " /> 国产高清网站,亚洲成a人片在线观看精品,成人欧美一区二区三区视频xxx

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

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

寫一個JS class時,如

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

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

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

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

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

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

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

  return this;

};

接下來就是再綁定一個defineSetter給Function對象。

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"自動增加一個set的屬性(方法),轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 日韩亚洲欧美在线爱色 | 日韩亚洲欧美综合一区二区三区 | 国产女人综合久久精品视 | 久久精视频 | 亚洲综合网站 | 亚洲玖玖| 美国成人影院 | 亚洲综合在线最大成人 | 一区二区中文字幕在线观看 | 亚洲艳图 | 国产自精品在线 | 日本二三区 | 精品在线观看一区 | 婷婷亚洲视频 | 亚洲欧美综合图片 | h成人在线 | 伊人久久综合视频 | 激情五月婷婷小说 | 激情五月综合婷婷 | 国产亚洲精品俞拍视频 | 美女视频黄频大全免费 | 黄污视频网站 | 青青热久麻豆精品视频在线观看 | 国产精品一区二区三区高清在线 | 欧美精品综合 | 九九激情视频 | 久久综合九色综合91 | 欧美色欧美亚洲另类二区不卡 | 日本激情网址 | 亚洲图片88| 久久激情小说 | 色视频国产 | 国产真实乱在线更新 | 色视频免费观看 | 久热中文字幕在线精品免费 | 国产亚洲欧美在在线人成 | 精新精新国产自在现 | 91区国产福利在线观看午夜 | 99热国产这里只有精品99 | 微拍秒拍99福利精品小视频 | 亚洲免费一区二区 |