日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

用 eval() 转换 Json 对象时,为什么要加括号?

發布時間:2023/10/11 综合教程 82 老码农
生活随笔 收集整理的這篇文章主要介紹了 用 eval() 转换 Json 对象时,为什么要加括号? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
var dataObj=eval("("+data+")");//轉換為json對象
 
為什么 eval 這里,data 要用 "("、")" 括起來呢?
 
原因:由于json是以”{}”的方式來開始以及結束的,在JS中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。
 
加上圓括號的目的是迫使 eval 函數在處理 JavaScript 代碼的時候強制將括號內的表達式(expression)轉化為對象,而不是作為語句(statement)來執行。
 
舉一個例子,例如對象字面量{},如若不加外層的括號,那么 eval 會將大括號識別為 JavaScript 代碼塊的開始和結束標記,那么{}將會被認為是執行了一句空語句。所以下面兩個執行結果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

節選自 http://www.cnblogs.com/myjavawork/archive/2011/03/10/1979279.html

總結

以上是生活随笔為你收集整理的用 eval() 转换 Json 对象时,为什么要加括号?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。