js 防篡改物件

2021-08-29 07:36:10 字數 598 閱讀 1771

簡單介紹一下js的防篡改物件:

(1)不可擴充套件物件(不能新增,可以修改和刪除)

預設情況下,所有物件都是可擴充套件的。即任何時候我們都可以為物件新增屬性和方法。但使用object.preventextensions()方法可以改變這一預設行為,即不能再為物件新增新的屬性和方法,但是仍然可以修改和刪除已有成員。另外,可以使用object.i***tensible()方法檢測物件是否可以擴充套件。

(2)密封的物件(sealed object)(不能新增和刪除,可以修改)

密封的物件不可擴充套件,並且已有成員的[configurable]屬性被設定為false,這就意味著不能刪除屬性和方法。使用object.seal()方法密封物件,使用object.issealed()檢測物件是否被密封;

(3)凍結的物件(不能新增、刪除和修改)

最嚴格的防篡改級別是凍結物件(frozen object)。物件一旦被凍結,則此物件既不可擴充套件,又是被密封的,而且物件資料屬性的【【writable】】被設定為false。如果定義【【set】】函式,訪問器屬性仍然是可寫的。使用object.freeze()凍結物件,使用object.isfrozen()方法檢測物件是否被凍結。

備註:參考《js 高3》

JS防篡改物件

在預設情況下,所有物件都是可以擴充套件的,也就是說,無論什麼時候都可以向物件中新增屬性和方法。例如以下,先定義乙個物件,再向其新增乙個新屬性 var obj obj.age 20 console.log obj.age 20即使先定義好乙個物件,後面也可以向其新新增屬性和方法。1.1 object....

防篡改物件

答 不可擴充套件物件 object.preventextensions 這樣就不能向物件中新新增屬性和方法了 不可擴充套件量一級保護措施。判斷 object.i tensible 方法 使用這個方法可以確定物件是否為可篡改,如果可篡改,則返回true,相反返回false。密封的物件 object.s...

JavaScript防篡改物件

任何人物件都可以被同一環境中執行的 修改。開發人員很可能會意外地修改別人的 甚至用不相容的功能重寫原生的 ecmascript解決了這個問題,可以讓開發人員防篡改物件。注意 一旦把物件定義為防篡改,就無法撤銷。1.不可擴充套件物件 在預設情況下,所有的物件都是可以擴充套件的。也就是說,任何時候都可以...