Javascript替代eval方法

Javascript替代eval方法

 

一般咱們在使用ajax獲取到後臺返回的json數據時,都要使用 eval 這個方法將json字符串轉換成對象數組, 像這樣:javascript

obj = eval('('+data+')')php

而使用這個方法會致使編輯器中的jshint報錯:前端

JSHint 6:19 eval can be harmful.java

SO. 使用替代eval的方法便可拯救強迫症患者:ajax

方法1:

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

方法2

function eval1 (str) { var script = document.createElement('script'); script.type="text/javascript"; script.text=str; document.getElementsByTagName('head')[0].appendChild(script); document.head.removeChild(document.head.lastChild); }

 

方法1親測有效!json

相關文章
相關標籤/搜索