美文网首页
eval() 函数

eval() 函数

作者: Artifacts | 来源:发表于2019-08-08 18:05 被阅读0次

语法:

eval(参数)

作用:会把eval函数中的参数当成js代码来执行。

一般在js中解析响应的json数据的时候都是使用JSON.parse()来实现,但是也可以使用eval函数将json字符串变为js可以解析的变量。
如下:

eval("var json =" + json字符串)

但是强烈不建议使用,因为此方法非常危险!! 因为会覆盖当前作用域的同名变量。
但在严格模式("use strict";)下,这种情况不会发生。所以平时建议大家开启严格模式来约束自己的代码,可避免一些潜在的问题。

function test(){
    var a = 100;
   //把一个字符串变为js代码执行,此字符串也可能是接口返回的。
    eval("var a = 200;");
    console.log(a); // 200 覆盖了 局部变量a
}
test();

如果改为严格模式,就不会覆盖,就是100。如下:

function test(){
    'use strict';
    var a = 100;
   //把一个字符串变为js代码执行,此字符串也可能是接口返回的。
    eval("var a = 200;");
    console.log(a); // 100 
}
test();

如果真想使用eval函数进行一些处理,建议使用new Function的形式进行替代处理,因为函数内的变量是局部变量的,就不会影响函数外部的同名变量。
如下:

function test(){
    var a = 100;
    var fn = new Function('',"var a = 200; return a;");
    console.log(a);  // 100
    return fn();  
}
console.log( test() ); // 200

相关文章

  • PHP代码执行

    Eval函数介绍 Eval函数的语法如下: eval ( string $code ) $code是字符串型变量,...

  • 08.eval、exec和其他函数

    eval、exec和其他函数 一、eval函数 1). eval函数的功能 将字符串形式的变量转换成Python的...

  • 二级Python小知识点---eval函数的功能

    eval函数的功能: eval函数的参数必须是字符串。所以经常和input联合使用。 eval函数的功能,通俗的说...

  • PHP代码审计-常见危险函数

    PHP代码执行函数 eval & assert & preg_replace eval 函数 php官方手册:ht...

  • eval介绍

    eval 的定义和用法 如果参数是表达式,eval()函数会执行表达式;如果参数是 js 语句,eval()函数会...

  • JS之eval()

    Javascript 之 eval() 语法 eval(string) 描述 eval()是一个顶级函数并且跟任何...

  • Python语法之eval()函数

    eval()函数 python中的eval()函数就是实现list、dict、tuple与str之间的转化;str...

  • 函数定义,函数劫持,全局函数

    函数的定义 函数劫持 全局函数(掌握isNaN eval)

  • R|Rmarkown查漏补缺

    1. 代码块设置 核心函数:eval eval = TRUE,显示运行结果,默认值 eval = FALSE,不显...

  • eval函数

    一,eval函数 1,函数原型 2,作用把字符串作为PHP代码执行 3,注意事项 代码不能包含打开/闭合PHP t...

网友评论

      本文标题:eval() 函数

      本文链接:https://www.haomeiwen.com/subject/exlfjctx.html