とりあえず手っ取り早いのは、無名関数で囲んでしまう方法です。
javascript
1(function() {
2 // data_stはこの無名関数の中でしか参照できない。
3 // この無名関数は、ファイルを読み込んですぐに実行される。
4 var data_st = '';
5
6 function ajaxResponse(response) {
7 var data = JSON.parse(response||null);
8 var result = true;
9
10 if (data_st === data) {
11 result = false;
12 }
13
14 data_st = data;
15
16 return result;
17 }
18})();
data_stをさらに他の場所でも使いたいのであれば、オブジェクトのプロパティとして抱えるのが良いでしょう。
javascript
1var AjaxStore = {
2 data_st: '',
3 ajaxResponse: function(response) {
4 var data = JSON.parse(response||null);
5 var result = true;
6
7 if (this.data_st === data) {
8 result = false;
9 }
10
11 this.data_st = data;
12
13 return result;
14 }
15};
16
17// 何かajax処理
18AjaxStore.ajaxResponse(response);
19
20// プロパティ参照
21if(AjaxStore.data_st === '100') {
22 // 何か処理
23}
JavaやRubyでいうクラスっぽく操作したい場合は、関数オブジェクトを利用すると良いでしょう。
javascript
1function AjaxStore() {
2 this.data_st = '';
3}
4AjaxStore.prototype.ajax = function() {
5 var response = // 何かajax処理の結果
6
7 if(this.data_st === response) {
8 return false;
9 }
10 this.data_st = response;
11 return true;
12}
13
14var store = new AjaxStore();
15store.ajax();
16
17if(store.data_st === 'test') {
18 // 何か処理
19}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/02/06 12:11
2017/02/06 13:15
2017/02/06 13:27 編集