JavaScript中的handler.preventExtensions()方法是Object.preventExtensions()方法的陷阱,它返回布爾值。
用法:
const p = new Proxy(target, { preventExtensions:function(target) { } });
參數:此方法接受包含目標對象的單個參數target。
返回值:此方法返回一個布爾值。
以下示例說明了JavaScript中的handler.preventExtensions()方法:
範例1:
<script>
const monster1 = {
canEvolve:true
};
const handler1 = {
preventExtensions(target) {
target.canEvolve = false;
Object.preventExtensions(target);
return true;
}
};
const proxy1 = new Proxy(monster1, handler1);
document.writeln(monster1.canEvolve);
document.writeln("<br>");
document.writeln(Object.preventExtensions(proxy1));
document.writeln("<br>");
document.writeln(monster1.canEvolve);
document.writeln("<br>");
const proxy = new Proxy({}, {
preventExtensions:function(target) {
Object.preventExtensions(target);
return !Object.isExtensible(target);
}
});
document.writeln(Object.isExtensible(proxy));
</script>
輸出:
true [object Object] false true
範例2:
<script>
const p = new Proxy({}, {
preventExtensions:function(target) {
document.writeln('preventExtensions()'+"<br>");
document.writeln(Object.preventExtensions(target)+"<br>");
return true;
}
});
document.writeln(Object.preventExtensions(p)+"<br>");
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);
Object.preventExtensions(proxy);
document.writeln("<br/>");
document.writeln(x.first);
</script>
輸出:
preventExtensions() [object Object] [object Object] false false
支持的瀏覽器:handler.preventExtensions()方法支持的瀏覽器如下:
- 穀歌瀏覽器
- Firefox
- Opera
- Safari
- Edge
相關用法
- Javascript Reflect.has()用法及代碼示例
- Javascript handler.has()用法及代碼示例
- Javascript handler.set()用法及代碼示例
- Javascript Float32Array.from()用法及代碼示例
- Javascript Float64Array.from()用法及代碼示例
- Javascript Sort()用法及代碼示例
- Javascript Array from()用法及代碼示例
- Javascript Unit16Array.from()用法及代碼示例
- Javascript Uint8ClampedArray.from()用法及代碼示例
- Javascript Promise.all()用法及代碼示例
- Javascript Int32Array.from()用法及代碼示例
- Javascript exec()用法及代碼示例
- Javascript Int16Array from()用法及代碼示例
- Javascript Uint32Array from()用法及代碼示例
- Javascript handler.get()用法及代碼示例
注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | handler.preventExtensions() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。