js數(shù)據(jù)存放處理

1.全局變量統(tǒng)一定義,以__開頭,如:

var __data = {};

2.局部變量盡量以變量含義字符串,遇特殊字符串需注意,如:

function domo() {

var tlocation = ''; // 盡量避免與內(nèi)置對(duì)象有沖突的變量名

}

3.所有數(shù)據(jù)盡量放在js變量中。

3.1.隱藏?cái)?shù)據(jù)如盡量寫在js全局變量中,因?yàn)闉g覽器(如ff)可能會(huì)默認(rèn)將該值緩存,會(huì)造成該值在js中被修改后刷新頁(yè)面

被置為該修改值而不是初始值;

如果需要將隱藏?cái)?shù)據(jù)放在form中提交,兩種解決辦法,一是在提交前js賦值,二是input增加一個(gè)屬性

3.2.一些隱私性數(shù)據(jù)放在json中,或者編碼后存放,不過js數(shù)據(jù)都在客戶端放著,想做到絕對(duì)保險(xiǎn)是不太可能的;

如果不想數(shù)據(jù)被抓到,就只好采用類似applet這種小程序來實(shí)現(xiàn),網(wǎng)銀和淘寶這種私密性很強(qiáng)的登錄都采用了類似的插件機(jī)制。

3.3.大量從服務(wù)器端返回的數(shù)據(jù)怎么存放?

是和數(shù)據(jù)顯示放在一起的一大堆隱藏的input里,還是用了jquery后放在對(duì)象的data里?

從實(shí)際應(yīng)用中,現(xiàn)在我更傾向于放在一個(gè)統(tǒng)一的全局json里,為每個(gè)對(duì)象置一個(gè)key就可以了,如:

var __data = {};

function back(jsons) {

__data = {}; // 有數(shù)據(jù)清理需求的需要做這個(gè)工作

$.each(jsons, function(i, json) {

__data[json.id] = json; // 當(dāng)然這里的json.id就是這個(gè)唯一性的key,至于這個(gè)key如何生成,可以自行設(shè)置

});

...

}

如此,每次取數(shù)據(jù)的時(shí)候只需要用key去全局json中取,修改也非常方便,如:

var data = __data[key];

data.anykey = 'anyvalue';

針對(duì)這兩句代碼補(bǔ)充兩點(diǎn):

json的key類似數(shù)組的下標(biāo),但是實(shí)際是一個(gè)字符串,如果沒有這個(gè)key,返回undefined;

取出來的data如果本身是個(gè)基本數(shù)據(jù)類型,那么修改data的值不會(huì)對(duì)全局json的值產(chǎn)生影響;

如:

var __data = { com : 'haah', obj : { da : 'en', db: 23 } };

var com = __data.com;

var obj = __data.obj;

com = 'hooh'; // 只是修改了com變量本身,__data.com的值不變;對(duì)于基本數(shù)據(jù)類型的變量,需要直接修改其值,__data.com = 'hooh';

obj.da = 'cn'; // 因?yàn)閛bj變量實(shí)際是__data.obj的引用,因此修改其值是修改__data本身;

第二點(diǎn)其實(shí)和java中對(duì)于對(duì)象的引用是一致的。

ps:使用jquery可以簡(jiǎn)化大量代碼,也可以避免一些瀏覽器兼容問題,特殊問題可以繞開jquery自行編寫;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《ijs》速成開發(fā)手冊(cè)3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,617評(píng)論 0 7
  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,503評(píng)論 0 13
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 8,110評(píng)論 2 17
  • 雖然經(jīng)常有人把“三姑六婆”掛在嘴邊,但是很多人根本不懂“三姑六婆”是什么意思,甚至有人以為“三姑六婆”和“七大姑八...
    歷史妞閱讀 758評(píng)論 0 2
  • 第2卷 腦中之腦 第20章 上一章 第19章 好久沒來了,年初辦了張園林卡,就和笑笑去了幾次,留下...
    杯酒遣寂寞閱讀 427評(píng)論 0 1

友情鏈接更多精彩內(nèi)容