JavaScript中eval的替代方法


引自:https://www.cnblogs.com/lxg0/p/7805266.html

通常我們在使用ajax獲取到后台返回的json數據時,需要使用 eval 這個方法將json字符串轉換成對象數組, 像這樣:

obj = eval('('+jsonStr+')');//方法1
obj = JSON.parse('('+jsonStr+')');//方法2
//但是如果遇到數據不是json格式,方法2會失效,並且在某些網站中,禁用eval,比如:https://www.makeapie.com/explore.html#sort=rank~timeframe=all~author=all

找到了替代eval的方法如下:

//計算表達式的值
function evil(fn) {
    var Fn = Function;  //一個變量指向Function,防止有些前端編譯工具報錯
    return new Fn('return ' + fn)();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM