再探JS---eval函数

本文探讨了JavaScript中的eval()函数,被誉为"魔鬼"函数,因其安全性问题和性能消耗而不被提倡使用。eval()在作用域内的行为,变量和函数不会被提升,且可能导致代码可读性和优化性降低。尽管如此,仍有一些特定场景下,eval()有其奇妙的用途,但通常可以找到更高效的安全替代方案。
摘要由CSDN通过智能技术生成

eval函数

“魔鬼”函数?

如果你现在的代码中使用了eval(),记住该咒语“eval()是魔鬼”。此方法接受任意的字符串,并当作JavaScript代码来处理。当有问题的代码是事先知道的(不是运行时确定的),没有理由使用eval()。eval 用的好不好 其实和使用者的水平有关系

作用域

在eval()中创建的任何变量或函数都不会被提升,因为在解析代码的时候,它们被包含在一个字符串中;它们只在eval()执行的时候创建

为什么不提倡使用eval函数?

  1. 可读性非常差
  2. 不好再做优化和编译
  3. 会轻微增加性能消耗
  4. 不安全,比如 eval input 的值

直接引用 or 间接引用

var a = 1;
(function(){
   
    
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值