欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
圖靈社區 : 閱讀 : 我最欣賞的Javascript對象

Javascript小巧靈活,能夠完成各種高難度的設計模式。下面要介紹的,只是其中之一。蘿卜白菜,各有所愛(ài)吧。沒(méi)什么標準可以鑒定好壞。

比如我們要定義人類(lèi):

function man(){}var a = new man()

人要有名:

function man(name) {this.Name = name}var a = new man('a')var b = new man('b')

可人也要有錢(qián)有車(chē)有房有人關(guān)注,等等,人要的東西太多,最好不要在造人的時(shí)候想著(zhù)這些。只想著(zhù)she就好了。

function man(she){this.she = she}var a = new man({Name:'a', Sex:'m'})a.she.Name = 'A'

我們不想把心里的she袒露出來(lái)。這樣,我們就需要一個(gè)閉包:

function man(she){  var Name, Sex  return function(){Name = she.Name; Sex = she.Sex}}a = man({Name:'a', Sex:'m'})

但這樣就無(wú)法讀寫(xiě)閉包包住的變量了。還好Javascript的函數也是對象,也就是可以直接讀寫(xiě)屬性:

function man(){return function(){}}var a = man()a.Name = 'a'a.Sex = 'm'

改名容易:a.Name = 'A', 可我們不想隨便改性。這樣就需要getter/setter函數控制:

function man(){  var Name, Sex  function my(){}  my.Name = function(n){    if (!arguments.length) return Name    Name = n    return my  }  my.Sex = function(s) {     if (!arguments.length) return Sex     Sex = Sex ? Sex : s     return my  }  return my}a = man()a.Sex('m')a.Sex('f')x = a.Sex() // 'm'

而且我們讓每個(gè)函數返回對象自身,就可以很容易的把函數串接在一起:

a = man().Name('a').Sex('m')

帶取置函數的閉包,就是我最為欣賞的對象。

--
fango

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
理解 Javascript This 關(guān)鍵字
JavaScript繼承的幾種方法
Javascript之面向對象程序設計(一)
JavaScript中的構造函數和工廠(chǎng)函數說(shuō)明
JavaScript 的 對象
prototype.js dojo 中 javascript繼承實(shí)現
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久