天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JSON 和 JavaScript eval使用說明

JSON 格式可以使對象(object)、數(shù)組(array)、值(value)、字符串(string)、數(shù)值(number)。
復制代碼 代碼如下:
<script type="text/Javascript">
var user = {
"Name":"Andy",
"Sex" :"man",
"Age" :"20",
"Phone":{"mobilephone":"123456789","telephone":"1234-12345678"},
"baby":[{"big":"xiaohong"},{"middle":"xiaoming"},{"small":"xiaoli"}] //包含數(shù)組
}
alert(user.Name);
alert(user.Phone.mobilephone);
alert(user.baby[0].big);
user.baby[0].big = "--";//修改了 JSON 值
alert(user.baby[0].big);
</script>

參考:http://www.json.org/json-zh.html



  下面來看看 JavaScript 的 eval 函數(shù)。
  eval 函數(shù)會評估給定的一個JavaScript代碼的字符串,并試圖去執(zhí)行包含在字符串里的表達式或者一系列的合法的 JavaScript 語句。eval 函數(shù)將把最后一個表達式或者語句包含的值或引用作為返回值。

代碼
復制代碼 代碼如下:
<script type="text/Javascript">
var bar = "bar";
var foobar = eval('"foo"+bar');
alert(bar + foobar);//執(zhí)行語句
foobar = eval('if(bar = "bar"){bar = "foo-bar";}else{bar = "bar-foo";}');
alert(foobar);//返回語句中包含的值
</script>

  JSON 和 對象字面量(Object Literals)的區(qū)別:JSON 的名字部分嚴格用引號+名字來表示。
代碼
復制代碼 代碼如下:
<script type="text/Javascript">
//對象字面量
var objectLiteral = {
name:"Objector.L",
age:"24",
special:"JavaScript",
sayName:function(){
return this.name;
}
};
//JSON 對象
var jsonFormat = {
"summary":"Blogs",
"blogrolls":[
{
"title":"Explore JavaScript",
"link":"http://example.com"
},
{
"title":"Explore JavaScript",
"link":"http://example.com"
}
]
};
</script>

  由于 Ajax 的興起, JSON 這種輕量級的數(shù)據(jù)格式作為客戶端與服務器端之間傳輸?shù)母袷街饾u流行起來,進而出現(xiàn)的問題是如何將服務器端構建好的 JSON 數(shù)據(jù)轉換為可用的 JavaScript 對象,利用 eval 函數(shù)無疑是一種簡單而直接的方法。在轉化的時候需要將 JSON 字符串的外面包裝一層園括號:

var jsonObject = eval("("+ jsonFormat +")")

  加園括號的目的是迫使 eval 函數(shù)在評估 JavaScript 代碼的時候強制將括號內(nèi)的表達式(expression)轉換為對象,而不是作為語句(statement)來執(zhí)行。舉一個例子,例如對象字面量{},如若不佳加外層的括號,那么eval會將大括號之別為JavaScript代碼塊的開始結束標記機,那么{}將被認為是執(zhí)行了一句空語句。所以下面兩個執(zhí)行結果是不同的:


復制代碼 代碼如下:
alert(eval("{}")); //return undefined
alert(eval("({})")); //return [object Object]

  JSON 格式的名字部分為什么要加引號?因為eval函數(shù)會將{foo:"bar"}解釋成合法的JavaScript 語句,而非表達式。但人們往往是想讓eval將這段代碼解釋成一個對象。所以JSON 格式會強制你去在名字的外側加上引號,再結合圓括號,eval就不會錯誤的將JSON解釋成代碼塊。
  
復制代碼 代碼如下:
//eval 錯誤解析語義
alert(eval('{foo:"bar"}')); //return "bar",incorrect
//eval 正確解析JSON
alert(eval('({"foo":"bar"})'));//return JSON object,correct

JavaScript技術JSON 和 JavaScript eval使用說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 夜色视频社区 | 亚洲精品成人a在线观看 | 黄小说免费看 | 久久久欧美国产精品人妻噜噜 | 国产精品久人妻精品 | 亚洲 欧美 日韩 精品 自拍 | 老司机福利在 线影院 | xx顶级欧美熟妞xxhd | 亚洲精品久久国产高清 | 亚洲国产无线码在线观看 | 日韩少妇爆乳无码专区 | 东北女人奶大毛多水多 | 亚洲成人免费在线观看 | 国产AV一区二区三区日韩 | china中国gay偷拍 | 欧美色图天堂网 | 日本不卡不码高清免费 | 精品四虎国产在免费观看 | 国产高清亚洲日韩字幕一区 | 美女快播第一网 | 婷婷综合亚洲爱久久 | 国产在线观看香蕉视频 | 国内久经典AAAAA片 | 少妇高潮A片特黄久久精品网 | 国产精品免费大片一区二区 | 99久免费精品视频在线观看2 | 亚洲高清在线精品一区 | 最新国产av.在线视频 | 97久久精品人人槡人妻人 | 亚洲午夜久久影院 | 哒哒哒影院在线观看免费高清 | 在线看片亚洲 | 99久久国产露脸精品麻豆 | 99久久免费国产精精品 | 亚洲 欧美 综合 高清 在线 | 调教女M屁股撅虐调教 | 国产欧美精品一区二区色综合 | 亚洲AV永久无码精品老司机蜜桃 | 老师湿乎乎两半嫩 | 4hu四虎免费影院www | 久久高清一级毛片 |