此篇文章主要參考了 http://www.reibang.com/p/794100838277 這位簡書的老鐵的文章佛吓。
這篇文章主要介紹了為什么JS中eval處理JSON數(shù)據(jù)要加括號的相關(guān)資料,需要的朋友可以參考下
由于Ajax的興起帆啃,JSON這種輕量級的數(shù)據(jù)格式作為客戶端與服務(wù)器之間的傳輸格式逐漸地流行起來似嗤,進(jìn)而出現(xiàn)的問題是如何將服務(wù)器端構(gòu)建好的JSON數(shù)據(jù)轉(zhuǎn)化為可用的JavaScript對象崩哩。利用eval函數(shù)無疑是一種簡單而直接的方法镐作。在轉(zhuǎn)化的時候需要將JSON字符串的外面包裝一層圓括號:
image.png
為什么要加括號编饺?
加上圓括號的目的是迫使eval函數(shù)在處理JavaScript代碼的時候強制將括號內(nèi)的表達(dá)式(expression)轉(zhuǎn)化為對象,而不是作為語句(statement)來執(zhí)行厅篓。舉一個例子秀存,例如對象字面量{},如若不加外層的括號羽氮,那么eval會將大括號識別為JavaScript代碼塊的開始和結(jié)束標(biāo)記或链,那么{}將會被認(rèn)為是執(zhí)行了一句空語句。所以下面兩個執(zhí)行結(jié)果是不同的:
image.png
同時也可以參考 另一篇文章
https://www.cnblogs.com/fuyun2000/archive/2012/11/10/2764433.html