グローバルにアクセスできる変数を作成する方法はありますが、特定の関数のみで変更することはできますか?グローバルにアクセスできるが、開発者コンソールでは変更できない変数を作成する
-1
A
答えて
0
ecma 6では、グローバル変数をキーワードconstで宣言でき、これらの変数は変更されません。
const VARIABLE="wont be modified";
さらに、関数を作成するたびにクロージャが作成されます。 閉鎖あなたが関数を作成し、それに取り組むことができるように似た何かを達成するために閉鎖
(function(global){
var a="I'm a";
function modifyA(newvalue){
a=newvalue;
}
function getA(){
return a;
}
global.modifyA=modifyA;
global.getA=getA;
})(window);
console.log(typeof a,"a doesn't exist in global environment");
console.log(getA(),"but exist in getA's closure");
modifyA('I have a new value');
console.log(getA(),"A can only be modify it with modifyA function");
0
一つの方法は、作成することです、外側の関数の変数にアクセスすることができ、内側の関数でありますあなたはcreateObjectGetter("abc")
のようにそれを呼び出すときに
function createObjectGetter(obj)
{
this.getObject = function() { return obj; };
}
:値を設定し、同様に値を返すために、新しい「取得」関数を作成しますローカル機能その時点からgetObject()
のようなオブジェクトをフェッチすることができます。を返しますが、値は一定のままで、createObjectGetter()
メソッドでのみ調整できます。
参考:How can you make a variable/Object read only in Javascript?
関連する問題
- 1. グローバル変数にアクセスできない
- 2. angular4 - ビューでもアクセスできるグローバル変数を作成
- 3. 開発者は限られたS3コンソールにアクセスできます
- 4. Clearcase:開発者がconfigspecを変更できないようにする
- 5. 開発者がLiferayデータベース構造を変更できないようにする
- 6. Jquery関数がグローバル変数にアクセスできない
- 7. 関数内でグローバル変数にアクセスできない - jQuery/ajax
- 8. 関数内のグローバル変数を変更できない(JavaScript)
- 9. MediaWikiのjQuery.ajaxコールでグローバルPHP変数にアクセスできない
- 10. javascriptでグローバル変数にアクセスできない
- 11. python rexpro接続でグローバル変数にアクセスできない
- 12. FirefoxDriverでグローバル変数にアクセスできない
- 13. コードバでグローバルなJS変数にアクセスできないのはなぜですか?
- 14. C - ユーザー関数内のグローバル変数にアクセスできない
- 15. 変数をウィンドウでグローバルにすることなくdevtoolsコンソールに公開する
- 16. C++のさまざまなクラスでグローバル変数にアクセスして変更することができます
- 17. グローバル変数の値にアクセスできないのはなぜですか?
- 18. コントローラからNSAppグローバル変数にアクセスできないのはなぜですか?
- 19. KnockoutJSのViewModelにアクセスできないグローバル変数
- 20. msアクセスでグローバル変数を作成する方法
- 21. なぜローカルconst変数をポインタキャストで変更できますか?Cでグローバルconst変数を変更できないのはなぜですか?
- 22. クロム開発者コンソールで説明できるエラー
- 23. ループバックでグローバルにアクセスできるmongodb接続変数
- 24. ユーザーフォームが変数にアクセスできる中央ディレクトリの作成
- 25. Opaでグローバル変数を作成することはできますか?
- 26. AJAXコールで作成されたJavascriptグローバル変数の作成/アクセス
- 27. Chromeでグローバル変数にアクセスする
- 28. Pythonで非グローバル変数にアクセスする
- 29. は、usort関数内のグローバル変数にアクセスできません。
- 30. コンソールでインスタンス内のクラス変数にアクセスできますか?
これはできません –