实现方式一:直接eval

function parse(jsonStr){
   return eval("(" + jsonStr +")")
}

  避免在不必要的情况下使用eval,eval()是一个危险的函数。它执行的代码拥有着执行者的权利,如果你用eval()运行的字符串恶意方操作修改,他可能会在你写的网页/拓展程序权限下,在用户计算机运行恶意代码

实现方式二:Funciton

核心:Function 与eval有相同的字符串参数特性

function parse(jsonStr){
   return new Function("return" + jsonStr)

}

var jsonStr ='{"age":20,"name":"jack"}';
parse(jsonStr)

  eval与Function都有着动态的编译js代码的作用,但是在实际编程中不推荐

 

posted on 2020-11-03 22:06  白不了的黑发  阅读(230)  评论(0编辑  收藏  举报