×

寻找错误“SyntaxError: missing variable name”的真因

作者:Terry2023.01.13来源:Web前端之家浏览:3152评论:0
关键词:js

今天在写一个项目的时候,突然发现一个奇怪的问题,在调试器里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];

总结

这种错误看上去很低级吧,所以我们在写代码的时候,需要多细心的哟。

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

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

发表评论: