不用eval怎么把字符串的箭头函数的转为函数d
原数据
var data = { listeners: { change: "(val) => { console.log(val); }", }, };
转换成不带双引号的
var data = { listeners: { change: (val) => { console.log(val); }, }, };
不用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列表。