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