JavaScript 改ざん防止オブジェクトこれはめったに使われないし、個人的にはあまり役に立たないと思います。でも、見せびらかすためのツールとしては使えますよ、ハハ、始めましょう。 。 1. 拡張不可能なオブジェクトデフォルトでは、オブジェクトは拡張可能であり、プロパティとメソッドをいつでも追加できます。 Object.preventExtensions(object) メソッドを使用してこの動作を変更し、オブジェクトにプロパティやメソッドを追加できなくなるようになりました。例えば: var person={name : 'jack'}; オブジェクト.preventExtensions(人); 人.年齢=13; console.log(person.age);///未定義 オブジェクトに新しいメンバーを追加することはできませんが、既存のメンバーはまったく影響を受けず、既存のメンバーを変更および削除することは可能です。さらに、isExtensible() メソッドを使用して、オブジェクトが拡張可能かどうかを判断することもできます。例えば: var person={name : 'jack'}; アラート(Object.isExtensible(person)); //true オブジェクト.preventExtensions(人); alert(Object.istExtensible(person)); //false 2. 封印された物体ECMAScript 5 でオブジェクトに対して定義されている 2 番目の保護レベルは、シールされたオブジェクトです。オブジェクトをシールされたオブジェクトに変更するには、Object.seal(object) メソッドを使用します。シールされたオブジェクトは拡張可能ではなく、既存のメンバーの [[configurable]] 属性は false に設定されます。つまり、Object.defineProperty() を使用してデータを変更し、そのプロパティにアクセスすることはできないため、プロパティとメソッドを削除することはできません。また、その逆も同様です。ただし、属性値は変更できます。 var person = {name:'tom'}; オブジェクト.seal(人); 人.年齢=12; console.log(person.age);//未定義 person.name を削除します。 console.log(人.名前);//トム person.name="ジャック"; alert(person.name);//ジャック オブジェクトがシールされているかどうかを判断するには、Object.isSealed() メソッドを使用します。シールされたオブジェクトは拡張できないため、Object.istExtensible() を使用してシールされたオブジェクトを検出した場合も、false (つまり、拡張できない) が返されます。 var person = {name:'tom'}; alert(Object.isExtensible(person)); ///true、拡張可能 alert(Object.isSealed(person)); ////false、暗号化されていない Object.seal(person); alert(Object.isExtensible(person)); ///false、拡張可能ではありません alert(Object.isSealed(person)); ////true、すでに暗号化されています 3. 凍った物体最も厳格な改ざん防止レベルは、凍結オブジェクトです。凍結オブジェクトは拡張も封印もされず、オブジェクトのデータ プロパティの [[Writable]] 属性は false に設定されます。set 関数が定義されている場合、アクセサ プロパティは引き続き書き込み可能です。これで、Object.freeze(object) メソッドを使用して、オブジェクトを凍結オブジェクトに変更できます。 var person={name : 'tony'}; オブジェクトをフリーズします(人)。 人.年齢=12; alert(person.age);//未定義 person.name を削除します。 alert(person.name);//tony person.name = 'ジャック'; alert(person.name);//tony オブジェクトが凍結オブジェクトであるかどうかを検出するには、Object.isFrozen() メソッドを使用します。凍結オブジェクトは非拡張オブジェクトとシールオブジェクトの両方であるため、isExtensible() を使用します。 var person = {name:'tom'}; alert(Object.isExtensible(person));///true、拡張可能 alert(Object.isSealed(person));////false、暗号化されていません alert(Object.isFrozen(person));////false、暗号化されていません Object.seal(person); alert(Object.isExtensible(person)); ///false、拡張可能ではありません alert(Object.isSealed(person)); ////true、すでに暗号化されています alert(Object.isFrozen(person)); ////true、すでに凍結されています 以上がJavaScript改ざん防止オブジェクトの使用例の詳しい内容です。JavaScript改ざん防止オブジェクトの詳細については、123WORDPRESS.COMの他の関連記事もご覧ください。 以下もご興味があるかもしれません:
|
<<: Linux で Tomcat を実行するいくつかの方法の説明
>>: Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル
1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...
この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...
目次序文1. 使用例2. 実施プロセス3. コンポーネントコード要約する序文1. cavans では...
概要今日は主に、NGINX を Web サーバーとして設定する方法を共有します。内容は次のとおりです...
url-loader をダウンロード 糸を追加 -D URLローダー モジュール: { ルール: {...
目次1. ルーティング構成2. Vueページのネスト3. ネストされた関係1. ルーティング構成 定...
CSSコードコンテンツをクリップボードにコピー.bottomTable{背景色: rgb (249,...
データベースを構築してプログラムを書くとき、日付と時刻の使用は避けられません。データベースには、ti...
この記事では、例を使用して、MySQL イベントの変更 (ALTER EVENT)、イベントの無効化...
初めて書きます。自己紹介させてください...みなさんこんにちは。私はジャスミンです。なぜジャスミンと...
この記事では、例を使用して、MySQL ストアド プロシージャにおけるカーソル (DECLARE) ...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...
目次1. 自己列挙可能なプロパティ2. Object.values()はプロパティ値を返します3. ...
目次成し遂げる:要約:言うことはあまりありませんが、まずは効果を見てみましょう。 カードホバー、レス...