内容字号: 默认 大号 超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到宋体切换到微软雅黑

eval()方法的替代函数

发布:2018-08-17 浏览: 评论(
为什么大家都不建议使用eval()这方法?是因为eval()方法会无条件执行传给它的代码,很容易导致安全问题,很多人不懂得eval()的正确用法,所以建议大家少用或者不用这个方法,那么有没有什么好的方法可以替代eval()?目前找到的有以下这三个:

方法一:

function evil(fn) {
    var Fn = Function;  //一个变量指向Function,防止有些前端编译工具报错
    return new Fn("return " + fn)();
}

方法二:

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);
}

方法三:

另外,但如果你是解释JSON字符串,可以直接用JSON.parse()来解释成json对象

需要知道的是一般也会用JSON.stringify()将json对象转换成json字符串,这两个常常互用

前端新手交流群
欢迎加入web前端新手交流qq群:734802480

更多文章

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。


Copyright © 2014-2019 seozhijia.net 版权所有-粤ICP备13087626号-4