如何使用JavaScript Proxy()對(duì)象?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
JavaScript中的代理對(duì)象用于定義基本操作的自定義行為(例如,屬性查找,賦值,枚舉,函數(shù)調(diào)用等)。
語(yǔ)法:
var p = new Proxy(target, handler);
參數(shù):代理對(duì)象接受如上所述的兩個(gè)參數(shù),如下所述:
target:要使用Proxy包裝的目標(biāo)對(duì)象(可以是任何類型的對(duì)象,包括函數(shù),類,甚至是另一個(gè)代理)。
handler:一個(gè)對(duì)象,其屬性是在對(duì)其執(zhí)行操作時(shí)定義代理行為的函數(shù)。
例:
<script> const Person = { Name: 'John Nash', Age: 25 }; const handler = { // target表示Person,而prop表示代理屬性。 get: function(target, prop) { if (prop === 'FirstName') { return target.Name.split(' ')[0]; } if (prop === 'LastName') { return target.Name.split(' ').pop(); } else { return Reflect.get(target,prop); } } }; const proxy1 = new Proxy(Person, handler); document.write(proxy1 + "<br>"); // 雖然沒(méi)有像FirstName和LastName那樣的屬性,但是我們?nèi)匀猾@取到它們,就好像它們是屬性而不是函數(shù)一樣。 document.write(proxy1.FirstName + "<br>"); document.write(proxy1.LastName + "<br>"); </script>
輸出:
[object Object] John Nash
注意:如果安裝了NodeJs,上面的代碼可以直接在終端運(yùn)行,否則可以在HTML文件中運(yùn)行,方法是在script標(biāo)簽中粘貼上面的代碼,然后在任何web瀏覽器的控制臺(tái)中檢查輸出。
看完上述內(nèi)容,你們掌握如何使用JavaScript Proxy()對(duì)象的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站題目:如何使用JavaScriptProxy()對(duì)象-創(chuàng)新互聯(lián)
分享鏈接:http://sd-ha.com/article8/jjiip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、定制網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站制作、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容