当前位置: 首页 > 知识库问答 >
问题:

javascript - 不用eval怎么把字符串的箭头函数的转为函数?

万坚壁
2023-10-11

问题

不用eval怎么把字符串的箭头函数的转为函数d

原数据

      var data = {        listeners: {          change: "(val) => {  console.log(val); }",        },      };

期望

转换成不带双引号的

      var data = {        listeners: {          change: (val) => {  console.log(val); },        },      };

共有1个答案

莫典
2023-10-11

不用eval方法,可以使用'new function'方法,

var data = {    listeners: {        change: "(val) => {  console.log(val); }",    },};var fnString = data.listeners.change;// 提取参数和函数体var fnArgs = fnString.substring(fnString.indexOf("(") + 1, fnString.indexOf(")")).split(",");var fnBody = fnString.substring(fnString.indexOf("{") + 1, fnString.lastIndexOf("}"));// 使用 new Function 创建函数data.listeners.change = new Function(...fnArgs, fnBody);// 测试data.listeners.change('Hello World');  // 在控制台输出 "Hello World"
 类似资料:
  • 本文向大家介绍JavaScript中的常规函数​​与箭头函数?,包括了JavaScript中的常规函数​​与箭头函数?的使用技巧和注意事项,需要的朋友参考一下 常规函数与箭头函数 一个箭头函数来简洁编写代码。常规 函数和箭头 函数的工作方式相似,但是它们之间存在一些差异。让我们简要地讨论一下这些差异。 箭头函数的语法 正则函数的语法 “ this”关键字的用法 它不能在箭头功能中使用“ this”

  • 本文向大家介绍js中的eval()函数把含有转义字符的字符串转换成Object对象的方法,包括了js中的eval()函数把含有转义字符的字符串转换成Object对象的方法的使用技巧和注意事项,需要的朋友参考一下 在项目中遇到一个问题:在前端需要把后台返回的json字符串转换成一个js中的json对象,可是从后台返回的字符串中含有转义字符:\", 在网上查到方法如下,可以处理这种情况: var pa

  • 不鼓励将箭头函数(“lambdas”)传递给 Mocha。Lambdas词法绑定 this,无法访问 Mocha 上下文。例如,以下代码将失败: describe('my suite', () => { it('my test', () => { // should set the timeout of this test to 1000 ms; instead will fail thi

  • ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 在继续学习箭头函数之前,请测试你的浏览器是否支持ES6的Arrow Function: 'use strict'; ---- var f

  • 在这里,箭头函数中的这个关键字指向obj的变量环境 null null null null

  • 箭头函数: 正规函数 这两个结果应该是相同的,但是看起来像上面定义的arrowFunc考虑第一个arg列表,而normalFunc考虑第二组arg列表。