“小白拥峦,你知道什么是常量什么是變量么?”
“知道奥糇印略号!常量是無(wú)法被更改的,比如數(shù)學(xué)上常用的Pi的值是3.1415926揪胃、數(shù)學(xué)常數(shù)的值璃哟、黃金分割的值等等,當(dāng)然還包括一些明確知道的值喊递,比如正常人的胳膊數(shù)量是2随闪,單手手指數(shù)量是5等等。變量是可以被隨意更改的骚勘,比如人的身高铐伴、公司每月收入支出等等∏味铮”当宴,小白利索的回答道。
“你在javascript中怎么定義變量呢泽疆?”
小白說(shuō):“你不是告我用var進(jìn)行定義么户矢?”
老朱:“恩,通過(guò)var定義的變量或者直接賦值的變量殉疼,我們?cè)谑褂玫臅r(shí)候要更改他們的值是非常方便的梯浪,只需要重新賦值就可以了∑澳龋可是經(jīng)常在開(kāi)發(fā)的過(guò)程中會(huì)碰到一些常量挂洛,我們并不希望用戶可以更改這些值,你能根據(jù)之前所學(xué)的知識(shí)解決這個(gè)問(wèn)題么眠砾?”
小白:“跟使用代碼的人說(shuō)一下不要修改這個(gè)值就可以了啊虏劲。”
老朱:“恩,你說(shuō)的也算是個(gè)辦法柒巫,可是萬(wàn)一就是有人要改呢励堡?”
小白:“暈,那就沒(méi)辦法了吻育。javascript中不是沒(méi)有常量么念秧?”
老朱:“你可以想辦法模擬啊,js是非常靈活的語(yǔ)言布疼。你再想想摊趾!用對(duì)象的方式能不能實(shí)現(xiàn)?”
小白:“哦游两!我知道了砾层,把變量定義到對(duì)象的內(nèi)部,這個(gè)變量就是私有變量贱案,然后只提供取這個(gè)變量的方法肛炮,不提供修改的方法就可以了”ψ伲”
“我在XBMath這個(gè)funcion中定義了兩個(gè)私有變量侨糟,然后返回了一個(gè)對(duì)象,對(duì)象中包含了兩個(gè)方法分別是返回Pi的值和e的值的方法瘩燥。這樣就可以通過(guò)返回對(duì)象的方法取對(duì)應(yīng)的變量值了秕重。”
老朱:“恩厉膀,不錯(cuò)溶耘,能想到通過(guò)return返回一個(gè)對(duì)象來(lái)處理,說(shuō)明你已經(jīng)對(duì)js很有心得了服鹅,你寫(xiě)的這個(gè)模式非常像一種設(shè)計(jì)模式:?jiǎn)卫J降时卫J讲恍枰褂胣ew進(jìn)行實(shí)例化,通常我們會(huì)用這種模式來(lái)管理自己的代碼庫(kù)企软。你如果留心的話就會(huì)發(fā)現(xiàn)很多js控件都是用這種模式來(lái)管理的庐扫。比如:”
“使用這種模式管理代碼非常方便,假如我們需要獲取用戶信息仗哨,通過(guò)對(duì)象的點(diǎn)語(yǔ)法XB.User.getUserInfo()就可以使用對(duì)應(yīng)的方法了聚蝶。”
小白:“這確實(shí)是一個(gè)好辦法藻治,不管有多少功能,只需要按照功能分類(lèi)就可以了巷挥,又漲知識(shí)了桩卵,我去把這塊再練習(xí)練習(xí)。”
想學(xué)H5的朋友可以關(guān)注老爐雏节,您的關(guān)注是我持續(xù)更新《小白HTML5成長(zhǎng)之路》的動(dòng)力胜嗓!