第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

javascript在不用框架的情況下,為了防止全局變量污染等,如何寫更好(或更優(yōu)雅)

javascript在不用框架的情況下,為了防止全局變量污染等,如何寫更好(或更優(yōu)雅)

慕姐8265434 2018-09-24 14:34:47
用函數(shù)的形式//做飯 let cook = function(){    let FoodMaterial = 'Tomatoes'; //食材:西紅柿     let Spice = '食用鹽'; //作料:食用鹽     return {        buy:function(){            console.log('購買' + FoodMaterial + '和' + 'Spice' );         },        doFood:function(){            console.log(`開始做${FoodMaterial}`);         },        setFood:function(food){            //未傳參則不執(zhí)行賦值             food && (FoodMaterial = food);         }     } }let o = cook(); o.setFood('肉'); o.buy();對象的形式let cook = {        FoodMaterial : 'Tomatoes',          Spice :'食用鹽',             buy:function(){              console.log('購買' + FoodMaterial + '和' + 'Spice' );         },        doFood:function(){              console.log(`開始做${FoodMaterial}`);         },        setFood:function(food){                //未傳參則不執(zhí)行賦值            food && (FoodMaterial = food);         }     }    let o = cook;     o.setFood('肉');     o.buy();        o.doFood();問題一:以上代碼結(jié)果一樣,但是有什么不同么,用哪個(gè)更好?問題二:在不用js框架的情況下,請問怎么編寫代碼比較好,附代碼更好
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

回答下問題一吧,兩種用法是不同的。
對象的形式:

let o1 = cook; let o2 = cook;

o1o2是指向同一塊內(nèi)存地址的,所以可以認(rèn)為此時(shí)的o1、o2cook是同一個(gè)對象。

函數(shù)的形式:

let o1 = cook(); let o2 = cook();

每執(zhí)行一次函數(shù),就return一個(gè)對象,執(zhí)行兩次函數(shù),會(huì)創(chuàng)建兩個(gè)對象,所以o1o2是沒有關(guān)聯(lián)的。


查看完整回答
反對 回復(fù) 2018-09-24
  • 1 回答
  • 0 關(guān)注
  • 510 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)