eval

1、

var num = 1;
function test(){
     var num = 2;
     eval("num = 3");
     return num;
}
alert(test()); //3
alert(num); //1

 

2、

function alertTest(){
    alert(1);
}
function test(){
     function alertTest(){
           alert(2);
     }
     setTimeout("alertTest()",100);
}
test();

只有当eval被直接调用时才会在局部环境中执行,其它情况eval都是在全局环境下执行

 

尽量不要使用eval

1、eval存在安全性问题,它会执行所有传入的代码,包括恶意代码。

2、执行eval性能比较差,因为它必须调用js解析器

posted @   charling  阅读(220)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
点击右上角即可分享
微信分享提示