久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      es6代理模式是什么

      es6代理模式是一種設(shè)計模式,指的是一個類別可以作為其他東西的接口,具體的表現(xiàn)形式就是es6中新增的Proxy對象;Proxy對象用于定義基本操作的自定義行為,語法為“l(fā)et p=new Proxy(target,handler);”。

      es6代理模式是什么

      本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。

      es6代理模式是什么

      代理模式(英語:Proxy Pattern)是程序設(shè)計中的一種設(shè)計模式。

      所謂的代理者是指一個類別可以作為其它東西的接口。代理者可以作任何東西的接口:網(wǎng)絡(luò)連接、內(nèi)存中的大對象、文件或其它昂貴或無法復(fù)制的資源。

      而在JavaScript中代理模式的具體表現(xiàn)形式就是ES6中的新增對象—Proxy

      Proxy 的解釋是:

      Proxy對象用于定義基本操作的自定義行為(如屬性查找,賦值,枚舉,函數(shù)調(diào)用等)。

      簡單來說: Proxy 對象就是可以讓你去對JavaScript中的一切合法對象的基本操作進(jìn)行自定義.然后用你自定義的操作去覆蓋其對象的基本操作.也就是當(dāng)一個對象去執(zhí)行一個基本操作時,其執(zhí)行的過程和結(jié)果是你自定義的,而不是對象的.

      :sweat:好吧,用文字表達(dá)可能太復(fù)雜了.我們還是直接上代碼吧.

      Proxy的語法是:

      let p = new Proxy(target, handler);
      • target 是你要代理的對象.它可以是JavaScript中的任何合法對象.如: (數(shù)組, 對象, 函數(shù)等等)

      • handler 是你要自定義操作方法的一個集合.

      • p 是一個被代理后的新對象,它擁有 target 的一切屬性和方法.只不過其行為和結(jié)果是在 handler 中自定義的.

      然后讓我們來看這段代碼:

      let obj = {  a: 1,  b: 2, }   const p = new Proxy(obj, {  get(target, key, value) {   if (key === 'c') {    return '我是自定義的一個結(jié)果';   } else {    return target[key];   }  },    set(target, key, value) {   if (value === 4) {    target[key] = '我是自定義的一個結(jié)果';   } else {    target[key] = value;   }  } }) console.log(obj.a) // 1 console.log(obj.c) // undefined console.log(p.a) // 1 console.log(p.c) // 我是自定義的一個結(jié)果 obj.name = '李白'; console.log(obj.name); // 李白 obj.age = 4; console.log(obj.age); // 4 p.name = '李白'; console.log(p.name); // 李白 p.age = 4; console.log(p.age); // 我是自定義的一個結(jié)果

      從上面這段代碼中,我可以很清楚的看到 Proxy 對象的作用.即是之前所受的 用于定義基本操作的自定義行為 .同樣的 get 和 set 操作.沒有沒代理的對象所得的結(jié)果是其JavaScript本身的執(zhí)行機(jī)制運(yùn)行計算后所得到的.而被代理了的對象的結(jié)果則是我們自定義的.

      Proxy的兼容性如下:

      es6代理模式是什么

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號