今天在写一个项目的时候,突然发现一个奇怪的问题,在调试器里console提示:SyntaxError: missing variable name。我也查了下资料,发现是定义变量的问题啊,不够细心啊!接下来分享下相关信息。
错误提示
SyntaxError: missing variable name (Firefox) SyntaxError: Unexpected token = (Chrome)
错误类型
SyntaxError
SyntaxError
(语法错误)对象代表尝试解析不符合语法的代码的错误。当 Javascript 引擎解析代码时,遇到了不符合语法规范的标记(token)或标记顺序,则会抛出 SyntaxError
。
SyntaxError
是一个可序列化对象,所以可以使用 structuredClone()
对它进行克隆,也可以使用 postMessage()
在 Worker 之间拷贝它。
哪里出错了?
缺失变量名。这有很大的可能性是由你的代码中的语法错误造成的。也许是什么地方的逗号出了问题,或者是你正在绞尽脑汁想一个合适的名字。完全可以理解!为变量起名确实让人头疼。
示例
变量名缺失
var = "foo";
为变量起一个合适的明确确实不是一件容易的事情。这种经历每个人都遇到过。
var ohGodWhy = "foo";
保留字不能作为变量名
有一些名称是作为保留字而存在的。不好意思,你不能使用!
var debugger = "whoop";// SyntaxError: missing variable name
一次性声明多个变量
在一次性声明多个变量的时候要特别留意逗号。看看是否有多余的逗号?以及是否不小心把逗号用作了分号?
var x, y = "foo", var x, = "foo" var first = document.getElementById('one'), var second = document.getElementById('two'), // SyntaxError: missing variable name
修复后的代码:
var x, y = "foo"; var x = "foo"; var first = document.getElementById('one'); var second = document.getElementById('two');
数组
在 JavaScript 中 Array
字面量需要使用方括号将值包裹起来。下面这样是不对的:
var arr = 1,2,3,4,5; // SyntaxError: missing variable name
这样写才是正确的:
var arr = [1,2,3,4,5];
总结
这种错误看上去很低级吧,所以我们在写代码的时候,需要多细心的哟。
网友评论文明上网理性发言 已有0人参与
发表评论: