×

报错信息来了:SyntaxError: Malformed formal parameter

作者:andy0012021.06.02来源:Web前端之家浏览:7321评论:0
关键词:js

又入坑了啊,报错信息来了:SyntaxError: Malformed formal parameter。一起来分析下吧。

哪里错了?

在至少带有两个参数的 Function() 构造器中它的最后一个参数是创建的新函数的源代码。剩下的都是新函数的参数。

构造器的参数有些情况下是无效的。 也许是你不小心用了一个关键字 if 或 var 作为参数名称,或者在参数列表中有一些杂乱的标点符号。 或者也许你不小心传递了一个无效的值,比如数字或对象。

好吧,这解决了我的问题。但是为什么不开始就说明白呢?

诚然,错误信息中的措辞稍微有些奇怪。"Formal parameter" 是 "function argument" 的另一种优美的同义。 我们使用 “malformed”(即畸形)这个词,因为所有的Firefox工程师都是19世纪哥特式恐怖小说的巨星。

示例

无效的

var f = Function("x y", "return x + y;");
// SyntaxError (missing a comma)

var f = Function("x,", "return x;");
// SyntaxError (extraneous comma)

var f = Function(37, "alert('OK')");
// SyntaxError (numbers can't be argument names)

有效的

var f = Function("x, y", "return x + y;");  // correctly punctuated

var f = Function("x", "return x;");

// if you can, avoid using Function - this is much faster
var f = function (x) { return x; };

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/error20210602a3.html

网友评论文明上网理性发言 已有0人参与

发表评论: