亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
視頻上說eval函數把遠程腳本返回的數據轉換成Json格式(還有(“+res+”)是什么意思?)但是server.php中不是已經使用了json_encode函數嗎,那返回的本身不就是json格式嗎,為何還要轉換?

正在回答

4 回答

還有(“+res+”)是什么意思?我知道這個是什么意思了?res是傳過來的json對象。

0 回復 有任何疑惑可以回復我~

還有(“+res+”)是什么意思?

0 回復 有任何疑惑可以回復我~

原因在于:eval 本身的問題。 由于 json 是以”{}”的方式來開始以及結束的,在 JS 中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。

加上圓括號的目的是迫使 eval 函數在處理 JavaScript 代碼的時候強制將括號內的表達式(expression)轉化為對象,而不是作為語句(statement)來執行。舉一個例子,例如對象字面量 {},如若不加外層的括號,那么 eval 會將大括號識別為 JavaScript 代碼塊的開始和結束標記,那么{} 將會被認為是執行了一句空語句。所以下面兩個執行結果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]?

1 回復 有任何疑惑可以回復我~

eval()可使用 JSON.parse()來取代

將JavaScript對象表示法的JSON字符串轉換為對象(字符串轉對象)

所以他才能夠jsonObj.username

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JSON應用場景與實戰
  • 參與學習       74910    人
  • 解答問題       214    個

你還不知道JSON嗎,快快加入我們吧,通過學習加深對Json的理解

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號