eval函数,通俗点讲,int()是eval()函数的被包含函数,就是int()函数的功能,eval()是有的,但是为什么要存在int()函数,这就是安全性问题了
比如: int("123+123") 这个是报错的
但是eval("123+123")这是会计算出123+123的值,那就是246
所以最大的区别就是,int是仅仅将 ""取掉,变成整数类型
但是eval()却可以去掉 ""并且进行运算,所以有时候会说,为什么不直接用eval(),这个就涉及安全性了比如js中的官网这么将eval()函数
"eval()
是一个危险的函数,它使用与调用者相同的权限执行代码。如果你用 eval()
运行的字符串代码被恶意方(不怀好意的人)修改,你最终可能会在你的网页/扩展程序的权限下,在用户计算机上运行恶意代码。更重要的是,第三方代码可以看到某一个 eval()
被调用时的作用域,这也有可能导致一些不同方式的攻击。相似的 Function 就不容易被攻击。"