当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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>

输出:

true

例子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>

输出:

false
 false






相关用法


注:本文由纯净天空筛选整理自 JavaScript handler.preventExtensions() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。