![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
すみません。
回答No.3に書き忘れました。リードオンリーにしたいという意味でしたらプロパティでは無理なので、メソッド経由でプライベート変数の値を参照するといいです。
var foo = function() {
var bar = 62;
refurn {
barIs: function() {
return bar;
}
};
}();
alert(foo.barIs()); // 62と表示
No.3
- 回答日時:
望みのものとはちょっと違うかもしれませんが、
例えばオブジェクト内ではどのメソッドからも自由に参照できるけど、外部からはアクセスできないプライベート変数のようなものを作ることはできます。
var foo = function() {
var bar = 0; // ↓のオブジェクトで使えるプライベート変数
refurn { // オブジェクト本体
method0: function() {
~barを使った式~
},
method1: function() {
~barを使った式~
}
};
}();
メソッド内ではbarを書き換えることはできますが、それは自分自身が書き換えないようにコーディングすればいいだけですよね。
殆どのケースはこれで事足りるような気がします。
ちなみに後からmethod0をオーバーライドされたとしても、新たに付けたfunctionについてはレキシカルスコープが発生しないので、barにはアクセスできないです。
foo.method0 = function() {
alert(bar);
};
foo.method0(); // bar is not defined
No.2
- 回答日時:
IE以外なら
const myvar=1;
と書いておけば、myvar=2;などと代入しようとするとエラーになります。
IE(JScript)にconstがありませんので、
varで定義して、代入しないように注意するしかありません。
No.1
- 回答日時:
ご質問の意味をはかりかねますが…
>変更されたくない変数(定数)
変数名を変更されないということなのか、値を変えられない(=変数名のバッティングを避けたい)ということなのか。
(多分、後者ではないかとは思いますが…)
「他の人がソース上で、スクリプトの変数名を変更できないようにする」という意味なら、そのソースには自分しかアクセスできないようにアクセス権を設定しておくとか?
まさか、自分でうっかり変数の値を変えたりしないようにってことではないですよね?
複数の人が同じソースにjavascriptを組込むような環境? あるいはライブラリ的なものを作成して配布するとかいうことなのでしょうか?
とりあえずは、グローバル変数を用いないこと。
少々長くても、バッティングしそうにない変数名にするとか。
このぐらいで、まず大丈夫だと思いますが、どういう状況設定なのかよくわからないので…
意味がわかってないけれど、ブラウザの種類には関係ないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- InternetExplorer(IE) 既定のブラウザーを変更した場合、付随して処理が必要なことはありますか? 2 2022/03/25 16:04
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Chrome(クローム) Chromeでダウンロードしたファイルを拡張子ごとに取り扱い方法を変更できないんでしょうか? 2 2022/11/19 17:34
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- JavaScript 指定時間になったら、WEBサイトの更新を自動で行うには…? 3 2022/04/28 22:14
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
コードをスマートにさせたい。
-
function(e)の意味を教えてくだ...
-
getElementByIdを使用したグロ...
-
関数名をテキストから読み込む...
-
JavaScriptで変更されたくない...
-
jQueryの :not() .not() が有効...
-
無名関数を使うメリットは何で...
-
google apps scriptの終了のさせ方
-
Boolean型配列中のTrueの有無を...
-
<a>タグのテキストを取得
-
【正規表現】【javascript】CR...
-
jspからjavascriptの変数引継ぎ
-
なぜmatchメソッドがエラーにな...
-
ジェネレーターの作り方
-
【Jquery】changeイベント毎にa...
-
GASでundefinedエラーが出ます
-
カンマで終わってるのはセミコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
jslintのエラーについて質問
-
要素名がスペースを含む場合のj...
-
javascript(jQuery)でセル内...
-
ajax反映後のjqueryが動かない
-
jQueryの :not() .not() が有効...
-
getElementByIdを使用したグロ...
-
コードをスマートにさせたい。
-
クリックすると上に開くアコー...
-
jQueryの"return false"の役割...
-
jQueryが読み込めない
-
個別では動く、javascriptのエラー
-
一つのアクションで関数を二つ...
-
jqueryの変数を関数の外に出す方法
-
R言語
-
jQuery|:not(:animated)
-
即時関数でプライベート変数的...
-
スムーズに動く アニメーション...
おすすめ情報