文章導航

Proxy handler.isExtensible() 方法

2019-6-17 00:32| 作者: admin| 查看: 1311| 評論: 0|來自: 螞蟻部落

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

此方法可以攔截Object.isExtensible()操作。

返回一個布爾值,用來標識target對象是否可以擴展。

語法結構:

[JavaScript] 純文本查看 復制代碼
var p = new Proxy(target, {
  isExtensible: function (target) {
    //code
  }
});

參數解析:

(1).target:原始目標對象。特別說明:返回的布爾值必須與Object.isExtensible()返回值一致,否則報錯。

代碼實例:

[JavaScript] 純文本查看 復制代碼运行代码
var p = new Proxy({}, {
  isExtensible: function(target) {
    return true;
  }
});
console.log(Object.isExtensible(p));

上面的代碼中,Object.isExtensible()操作會被攔截。

[JavaScript] 純文本查看 復制代碼运行代码
var p = new Proxy({}, {
  isExtensible: function(target) {
    return true;
  }
});
console.log(Reflect.isExtensible(p));

Reflect.isExtensible()方法也可以被攔截。

[JavaScript] 純文本查看 復制代碼运行代码
var p = new Proxy({}, {
  isExtensible: function(target) {
    return false;
  }
});
console.log(Object.isExtensible(p));

代碼會報錯,對象{}是可以擴展的,所以Object.isExtensible({})返回值是true,而上面代碼中的handler.isExtensible()返回false,于是報錯。


鮮花

握手

雷人

路過

雞蛋

最新評論

返回頂部
浙江6十1开奖号码查询r