handler.preventExtensions()
JavaScript handler.preventExtensions()方法
handler.preventExtensions()方法用于捕获Object.preventExtensions方法。如果在对象上禁止扩展,则无法添加新属性。
语法
preventExtensions: function(target)
参数
target:目标对象。
返回值
返回布尔值。
浏览器支持
Chrome |
49 |
Edge |
12 |
Firefox |
22 |
Opera |
36 |
示例1
<script>
const proxy = new Proxy({}, {
preventExtensions: function(target) {
Object.preventExtensions(target);
return !Object.isExtensible(target);
}
});
document.writeln(Object.isExtensible(proxy));
//expected output:true
</script>
输出:
示例2
<script>
const proxy1 = new Proxy({}, {
preventExtensions: function(target) {
Object.preventExtensions(target);
return !Object.isExtensible(target);
}
});
document.writeln(Object.isExtensible(proxy1));
//expected output: true
document.writeln('<br/>');
document.writeln(Object.preventExtensions(proxy1));
// Object.preventExtensions prevent of object to access.
//expected output: [object Object]
document.writeln('<br/>');
document.writeln(Object.isExtensible(proxy1));
//expected output: false
</script>
输出:
true
[object Object]
false
示例3
<script>
var x = {
first: false
};
var y ={
preventExtensions(target) {
target.canEvolve = false;
Object.preventExtensions(target);
return true;
}
};
var proxy = new Proxy(x, y);
document.writeln(x.first);
// expected output: false
Object.preventExtensions(proxy);
document.writeln("<br/>");
document.writeln(x.first);
// expected output: false
</script>
输出: