課程
/后端開發(fā)
/PHP
/JSON應(yīng)用場景與實(shí)戰(zhàn)
var?jsonObj?=eval("("+res+")");
為什么要寫這個
2017-03-02
源自:JSON應(yīng)用場景與實(shí)戰(zhàn) 2-1
正在回答
eval本身的問題。 由于json是以”{}”的方式來開始以及結(jié)束的,在js中,它會被當(dāng)成一個語句塊來處理,所以必須強(qiáng)制性的將它轉(zhuǎn)換成一種表達(dá)式。加上圓括號的目的是迫使eval函數(shù)在處理JavaScript代碼的時候強(qiáng)制將括號內(nèi)的表達(dá)式(expression)轉(zhuǎn)化為對象,而不是作為語句(statement)來執(zhí)行。舉一個例子,例如對象字面量{},如若不加外層的括號,那么eval會將大括號識別為javascript代碼塊的開始和結(jié)束標(biāo)記,那么{}將會被認(rèn)為是執(zhí)行了一句空語句。所以下面兩個執(zhí)行結(jié)果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
出處: http://blog.csdn.net/guoquanyou/article/details/8289559
為什么寫var jsonObj =eval("("+res+")");
舉報
你還不知道JSON嗎,快快加入我們吧,通過學(xué)習(xí)加深對Json的理解
1 回答關(guān)于 var jsonObj = eval("(" + res + ")");錯誤
1 回答var jsonObj = eval("("+res+")"); 是什么意思
2 回答eval("("+res+")");有什么用啊,哪位懂了的解釋下,謝謝
3 回答為什么瀏覽器總說我的var re = eval("("+ data +")");有問題
2 回答為什么用eval()
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-06-29
eval本身的問題。 由于json是以”{}”的方式來開始以及結(jié)束的,在js中,它會被當(dāng)成一個語句塊來處理,所以必須強(qiáng)制性的將它轉(zhuǎn)換成一種表達(dá)式。加上圓括號的目的是迫使eval函數(shù)在處理JavaScript代碼的時候強(qiáng)制將括號內(nèi)的表達(dá)式(expression)轉(zhuǎn)化為對象,而不是作為語句(statement)來執(zhí)行。舉一個例子,例如對象字面量{},如若不加外層的括號,那么eval會將大括號識別為javascript代碼塊的開始和結(jié)束標(biāo)記,那么{}將會被認(rèn)為是執(zhí)行了一句空語句。所以下面兩個執(zhí)行結(jié)果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
出處: http://blog.csdn.net/guoquanyou/article/details/8289559
2017-03-02
為什么寫var jsonObj =eval("("+res+")");