handler.isExtensible()
JavaScript handler.isExtensible()方法
handler.isExtensible()方法是Object.isExtensible()的陷阱。我们通常可以用于记录或审核对Object.isExtensible的调用(确定对象是否"可扩展")。
语法
isExtensible: function(target)
参数
target:目标对象。
返回值
返回布尔值。
浏览器支持
Chrome |
兼容性未知 |
Edge |
兼容性未知 |
Firefox |
31 |
Opera |
兼容性未知 |
示例1
var x = { foo: 1 };
var proxy = new Proxy(x, {
isExtensible: function(target) {
document.writeln('in isExtensible');
//expected output: in isExtensible
return Object.isExtensible(target);
}
});
document.writeln(Object.isExtensible(proxy));
//expected output: true
document.writeln("<br/>")
Object.preventExtensions(proxy);
document.writeln(Object.isExtensible(proxy));
//expected output: false
输出:
in isExtensible true
in isExtensible false中
示例2
const pro={
too:1 }
const proxy = new Proxy(pro, {
isExtensible: function(target) {
document.writeln(' in value : ');
return true;
}
});
document.writeln(Object.isExtensible(proxy));
//expected output: in value : true
输出:
示例3
var a = {
canEvolve: true
};
var b = {
isExtensible(target) {
return true;
},
};
const proxy1 = new Proxy(a, b);
document.writeln(Object.isExtensible(proxy1));
// expected output: true
输出: