最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ajax與用戶交互的JSON數(shù)據(jù)存儲格式

 更新時間:2016年11月07日 14:04:15   作者:畫個女孩陪著我  
數(shù)據(jù)存儲是JavaScript的核心功能,適當(dāng)?shù)拇娣藕脭?shù)據(jù),就有利于我們組織起結(jié)構(gòu),又能使應(yīng)用程序稍后訪問這些內(nèi)容更加容易。這篇文章給大家介紹了Ajax與用戶交互的JSON數(shù)據(jù)存儲格式,感興趣的朋友一起看看吧

數(shù)據(jù)存儲是JavaScript的核心功能,這是一個在學(xué)習(xí)前期的一個容易讓人迷惑的問題。它并不是那種像頁面滑動、幻燈片展示、淡入淡出等吸引人眼球的特效。適當(dāng)?shù)拇娣藕脭?shù)據(jù),就有利于我們組織起結(jié)構(gòu),又能使應(yīng)用程序稍后訪問這些內(nèi)容更加容易。JavaScript提供了各種不同的數(shù)據(jù)存儲方式,它是一個從基本到未來走向的演化模式:

XML代表可擴(kuò)展標(biāo)記語言,是一種比較靈活的數(shù)據(jù)格式,很多應(yīng)用程序存儲數(shù)據(jù)都喜歡用到它,結(jié)構(gòu)像HTML,也包含元素,標(biāo)簽以及屬性,模型都一樣。它的一大優(yōu)勢在于它是一種可擴(kuò)展的格式,你并不會受制于某種預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu);并且它還符合DOM標(biāo)準(zhǔn),使用AJAX調(diào)用獲取到的數(shù)據(jù)就像解析HTML一樣,通過相應(yīng)的DOM方法和屬性解析它:

<ingredient>
<prison>
<name>apple</name>
<color>red</color>
</prison>
<prison>
<name>tomato</name>
<color>red</color>
</prison>
<prison>
<name>peach</name>
<color>pink</color>
</prison>
<prison>
<name>pitaya</name>
<color>green</color>
</prison>
</ingredient>

但是XML的一個嚴(yán)重的缺陷在于它不能用于跨域名的Aiax調(diào)用,也就是說每一個Ajax調(diào)用的XML數(shù)據(jù)都必須和執(zhí)行調(diào)用的腳本處于同一域名內(nèi),否則請求會失敗。

HTML存儲也相似,它與Ajax結(jié)合起來最簡單。采用這種方式的數(shù)據(jù)格式的重要因素是速度,HTML代碼段無需在客戶端解析就能直接將其輸出到DOM之中,所以我們不需要再額外的編寫JavaScript代碼解析HTML。

<ul>
<li><a href="boke.js">apple:red</a></li>
<li>tomato:red</li>
<li>peach:pink</li>
<li>piyata:green</li>
</ul>

說說它的缺點(diǎn),它存儲的數(shù)據(jù)可能和HTML代碼混合在一起,所以說可維護(hù)性降低。另外在編寫處理代碼時,開發(fā)者可能需要在服務(wù)器端做一些精細(xì)的控制手段。

以下是使用JavaScript進(jìn)行數(shù)據(jù)存儲的手段,循序漸進(jìn)…

變量

JavaScript最為基礎(chǔ)的數(shù)據(jù)存儲方式,它接受字符串、數(shù)值、布爾等。最核心的內(nèi)容是它的作用域問題。

于變量相關(guān)的性能問題:

變量在聲明完之后,就會被緩存到JavaScript文件中,于是在作用域內(nèi)就可以反復(fù)的使用它們了,獲取變量的開銷微乎其微,只要數(shù)據(jù)的使用次數(shù)大于1,就應(yīng)該將其存入變量。

數(shù)組

數(shù)組跟普通數(shù)組、關(guān)聯(lián)數(shù)組和多維數(shù)組,它們都是元素列表,這種形式是各種數(shù)據(jù)存儲中非常靈活的一種。掌握了數(shù)組最基本的形式,也會對其他復(fù)雜形式的運(yùn)用大有脾益。數(shù)組元素的訪問合一處是常見的基本交互代碼。鑒于數(shù)組這種數(shù)據(jù)存儲類型的重要性,JavaScript為數(shù)組交互操作提供了大量的專屬方法:

.join() 方法 可以指定某個字符可作為數(shù)組內(nèi)每個元素的連接符;slice() 方法可以輸出數(shù)組中某個范圍內(nèi)的元素;shift()和unshift() 方法 分別用于在數(shù)組頭部移除或新增元素;pop() 方法 用于移除并返回數(shù)組中的最后一個元素;concat() 方法 用于將多個數(shù)組拼接成一個數(shù)組,按參數(shù)的先后而定;sort()方法 可以按照字母表順序或自定義順序來排列數(shù)組的元素,但是只會根據(jù)首字符排序,一般都是錯誤的。

對象

在數(shù)據(jù)變得更加復(fù)雜、更加難以管理的情況下,我就會選擇將數(shù)組轉(zhuǎn)換為對象。因為對象的存儲方式更加易讀。

//對象數(shù)據(jù)存儲
var meatball = {
bread:"wang",
meat :"li",
cheese : "zhang"
};
//返回對象的bread 
alert(meatball.bread);

對象對效率的影響

上面的代碼只有一層,然而它是可以無限嵌套的。對象能更好的組織代碼,提高模塊化的程度。不過與此同時,還是需要考慮性能和可維護(hù)性的權(quán)衡問題,因為它需要尋找這三者中的一個。如果是運(yùn)用面向?qū)ο缶幊碳夹g(shù),嵌套達(dá)到3層及以上,就會引發(fā)性能問題;但是在服務(wù)器端運(yùn)用時就不是這樣了,所以前端開發(fā)者要決定什么時候使用面向?qū)ο缶幊碳夹g(shù)。

JSON

JSON是一種易于同jacascript 集成的數(shù)據(jù)格式,它通常是在用JavaScript調(diào)用外部服務(wù)器時使用的。JSON數(shù)據(jù)存放于獨(dú)立的文件中,而且通常位于另一臺完全不同的服務(wù)器上。它現(xiàn)在是最常見的一種調(diào)用API服務(wù)時所使用的數(shù)據(jù)格式,人們之所以選中它,是因為此格式非常易于閱讀。起初,JSON格式是作為一種XML格式的替代方案而出現(xiàn)的,但很快它就在數(shù)據(jù)交換領(lǐng)域占據(jù)了主流的地位。它是一種輕量級的數(shù)據(jù)格式,易于通過遠(yuǎn)程Ajax調(diào)用進(jìn)行跨域名訪問。盡管JavaScript對JSON格式的解析提供了原生的支持,但它還是一種獨(dú)立于平臺的格式,客戶端與服務(wù)器端在數(shù)據(jù)交換時都可以使用。

由于JSON格式具備跨域名訪問的能力,所以為了防止一切惡意行為,我們務(wù)必只使用從可信的數(shù)據(jù)源中獲取JSON。

這是一個 Salad.json 數(shù)據(jù)文件:

//ajax JSON Salad
var ingredient = {
"fruit":[
{
"name" : "apple",
"color" : "green"
},
{
"name" : "tomato",
"color" : "red"
},
{
"name" : "peach",
"color" : "pink"
},
{
"name" : "pitaya",
"color" : "white"
},
{
"name" : "lettuce",
"color" : "green"
}
]
};

JSON最常見的用途就是配合API調(diào)用,在于API為基礎(chǔ)的網(wǎng)絡(luò)程序開發(fā)環(huán)境中,使用何種后端語言進(jìn)行開發(fā),數(shù)據(jù)格式都無需改變。

以上所述是小編給大家介紹的Ajax與用戶交互的JSON數(shù)據(jù)存儲格式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Ajax Hacking

    Ajax Hacking

    [紅色]Ajax Hacking...
    2006-11-11
  • 基于ajax的簡單搜索實現(xiàn)方法

    基于ajax的簡單搜索實現(xiàn)方法

    這篇文章主要介紹了基于ajax的簡單搜索實現(xiàn)方法,結(jié)合實例形式較為詳細(xì)的分析了ajax調(diào)用實現(xiàn)搜索功能的具體步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-12-12
  • 如何使用ajax開發(fā)web應(yīng)用程序

    如何使用ajax開發(fā)web應(yīng)用程序

    如何使用ajax開發(fā)web應(yīng)用程序...
    2006-09-09
  • ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)

    ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)

    這篇文章主要介紹了ThinkPHP5 通過ajax插入圖片并實時顯示功能,本文給大家分享網(wǎng)站代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • AJAX實現(xiàn)省市縣三級聯(lián)動效果

    AJAX實現(xiàn)省市縣三級聯(lián)動效果

    這篇文章主要為大家詳細(xì)介紹了AJAX實現(xiàn)省市縣三級聯(lián)動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Ajax中的循環(huán)方案

    Ajax中的循環(huán)方案

    在開發(fā)中,當(dāng)一個列表頁面加載完成后,我需要根據(jù)列表每一項的id去服務(wù)器端獲取對應(yīng)的數(shù)據(jù)然后再把獲取的數(shù)據(jù)賦給當(dāng)前id對應(yīng)的標(biāo)簽,怎么實現(xiàn)的呢?下面小編給大家介紹下ajax中的循環(huán)方案,感興趣的朋友一起學(xué)習(xí)吧
    2016-10-10
  • IE9 IE8 ajax跨域問題的快速解決方法

    IE9 IE8 ajax跨域問題的快速解決方法

    下面小編就為大家?guī)硪黄狪E9 IE8 ajax跨域問題的快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • ajax同步驗證單號是否存在的方法

    ajax同步驗證單號是否存在的方法

    這篇文章主要介紹了ajax同步驗證單號是否存在的方法,涉及基于ajax的數(shù)據(jù)交互相關(guān)操作技巧,需要的朋友可以參考下
    2016-08-08
  • jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行

    jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行

    默認(rèn)ajax是異步的,也就是在未響應(yīng)到結(jié)果時不影響向下的執(zhí)行,如果非要返回結(jié)果的話,將ajax 中的參數(shù) async 改為 false,即為同順序執(zhí)行
    2014-05-05
  • Ajax的簡單實用實例代碼

    Ajax的簡單實用實例代碼

    這篇文章主要介紹了Ajax的簡單實用實例代碼,需要的朋友可以參考下
    2017-05-05

最新評論

石门县| 张家港市| 陕西省| 义乌市| 荆门市| 呼伦贝尔市| 怀安县| 保靖县| 长子县| 垦利县| 潞西市| 错那县| 扬州市| 都昌县| 扎赉特旗| 闵行区| 上犹县| 衡南县| 徐州市| 东宁县| 临安市| 永丰县| 连州市| 鄂伦春自治旗| 丰宁| 新昌县| 英山县| 临泽县| 五大连池市| 沾益县| 股票| 嘉兴市| 惠东县| 富平县| 尼玛县| 莱阳市| 安西县| 阿合奇县| 洛宁县| 乌兰察布市| 彭阳县|