Proxy.revocable() 方法

admin發表於2019-06-15

關於Proxy更多內容可以參閱JavaScript Proxy和Reflect一章節。

此方法可以建立一個可取消的Proxy例項。

返回值是一個物件,該物件的proxy屬性是Proxy例項,revoke屬性是一個函式,可以取消Proxy例項。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
Proxy.revocable(target, handler);

引數解析:

(1).target:原始目標物件。

(2).handler:一個物件,用來定製攔截行為。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var revocable = Proxy.revocable({}, {
  get: function(target, name) {
    return name;
  }
});
var proxy = revocable.proxy;
console.log(proxy.webName);

revocable.proxy返回Proxy例項例項,proxy.webName會被攔截。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var revocable = Proxy.revocable({}, {
  get: function(target, name) {
    return name;
  }
});
var proxy = revocable.proxy;
revocable.revoke();
console.log(proxy.webName);

當執行revoke函式之後,再訪問Proxy例項,就會丟擲一個錯誤。

相關文章