摘要: 對很久以前的一個bug進行分析和總結(jié)
function parsePost(data, action) {
try {
var postData = eval("(" + data + ")");
// TO DO1
} catch (e) {
// TO DO2
}
}
這是一段頁面的老代碼,data是數(shù)據(jù)庫body字段,既是用戶錄入并取出的數(shù)據(jù),由于業(yè)務(wù)的關(guān)系,data是以json格式保存的,為了使數(shù)據(jù)能實現(xiàn)兼容,這里使用try...catch...方式處理,如果變量data能被轉(zhuǎn)換成對象,則執(zhí)行TO DO1,否則執(zhí)行TO DO2.
我們知道eval的作用很簡單,就是把一段字符串傳遞給js解析器,由javascript解析器將這段字符串解釋成為
閱讀全文