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