今天我们来探讨一下,为什么 小程序不支持 eval 方法和 new Function
在微信 和 抖音小程序的开发文档上,都标明了 不支持使用 eval() , new Function 创建函数。
二、抛出问题:这是为什么呢?
因为 eval()
函数会将传入的字符串当做 JavaScript 代码进行执行。如果你用 eval()
运行的字符串代码被恶意方(不怀好意的人)修改,您最终可能会在您的网页/扩展程序的权限下,在用户计算机上运行恶意代码。第三方代码可以看到某一个 eval()
被调用时的作用域,这也有可能导致一些不同方式的攻击。
查阅 JavaScript 文档,我们就很清楚的晓得了~
三、回头再想想,为什么 好多人还是选择用 eval 呢
这个 eval 真的是让人又爱又恨,因为在 eval 中可以运行 javascript 代码,所以在计算大型算数的时候,很多时候开发者为了方便,直接使用,就可计算出最终结果。用起来也是爽歪歪的。
四、eval 的替代方案
使用 Function 代替