2

私はゲームを作成していて、最近 JavaScript 内の無名関数について読みました。私の理解では、それらはコンテンツをラップし、内部の変数をグローバル名前空間ではなく、関数に対してローカルにします。私の質問は、これにより、ユーザーが無名関数内の変数を編集できなくなるのでしょうか?

私はそれを自分でチェックアウトし、Chrome コンソールで変数 'a' (私が作成した匿名関数でラップされた小さな JS ファイルから) を変更しようとすると、ユーザーがそれらを変更できないことを示唆する未定義であると言われました.

これはこれらの変数を完全に保護しますか、それともプレイヤーは他の方法で変数を編集できますか?

ありがとう

4

1 に答える 1

6

それは役に立ちますが、たとえば Chrome では、開発者ツールを開いて JavaScript ソースを直接編集できます。JavaScript 変数を完全に保護する方法はありません。ユーザーは好きなように変更できます。変数のスコープをローカルに保ち (匿名関数を使用するなど)、コードを縮小することで、より困難にします。

于 2013-05-25T14:41:38.460 に答える