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: タグセレクタータグセレクターはすべてのタグに使用されます。ここでは p を例に挙げます。つまり...
<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...
この記事では、以下の環境をテストします。 CentOS 7 64 ビット 最小 MySQL 5.7 ...
毎日jQueryプラグインを学ぶ - フローティングメニュー、参考までに、具体的な内容は次のとおりで...
マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...
序文ソースコードは合計で 100 行強しかありません。これを読めば、react-dnd などの成熟し...
1 はじめにKong は単純な製品ではありません。この記事で言及されている Kong は主に Kon...
webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...
目次導入例: イベントの委任記述方法1: イベント委譲書き方2: 各子要素がイベントをバインドする例...
レンダリング コード - 青と黄色のリングを例に挙げます <div class="コ...
変換して翻訳するTransform は、変換と変形を意味します。他の幅属性や高さ属性と同様に、CSS...
目次1. 概要1.1 厳密モードとは何ですか? 1.2 厳密モードの目的2. 厳密モードを有効にする...
Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...
1. テーブル構造 2. 表データ 3. クエリのteacher_nameフィールドは空にすることは...