当前位置:   article > 正文

js中将字符串作为函数名来调用的方法_js 方法名是字符串 怎么调用

js 方法名是字符串 怎么调用

一、前言

1、定义

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

2、语法

  • eval(string)
参数描述
string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

二、使用

1、实例

执行JavaScript代码或表达式:

eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
  • 1
  • 2
  • 3

以上实例输出结果:

200
4
27 
  • 1
  • 2
  • 3

2、笔记1

eval() 是一个危险的函数,它使用与调用者相同的权限执行代码,所以尽可能的不要去使用它,以防被其他人员植入恶意代码,相似的 Function 就不容易被攻击。尽量使用 Function:

Function('"use strict";return (' + obj + ')')();
  • 1

代替

eval(obj);  // 不建议使用
  • 1

3、笔记2

eval() 函数里面如果放一个函数需要使用 () 括起来。

let x=eval(`function parse(){console.log("test");}`);
console.log(x);
x();
  • 1
  • 2
  • 3

上面代码没有使用 () 将 eval() 函数中的函数括起来,会报错 x undefined;

let x=eval(`(function parse(){console.log("test");})`);
console.log(x);
x();
  • 1
  • 2
  • 3

上面代码使用 () 将 eval() 函数中的函数括起来,正常运行。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/78697
推荐阅读
相关标签
  

闽ICP备14008679号