JavaScript出现错误“Uncaught SyntaxError: missing ) after argument list”的解决方法

我们在写JavaScript代码的时候,有时候会出现标题中的错误提示“Uncaught SyntaxError: missing ) after argument list”,有些网友在这里就有疑问了,代码出错的原因在哪里呢?

 

“Uncaught SyntaxError: missing ) after argument list”,翻译过来的字面意思:语法错误: 参数列表后面缺少 )

这不就是缺少括号 (的意思么?然而只是真的缺少括号才会出现这样的报错吗?其实不尽然。很多网友就在做jQuery基本事件练习的时候,被JS的这个错误给误导不浅。JavaScript代码来来回回找了不下很多遍了,没有少括号啊?这到底是什么情况呢?为什么出报错“Uncaught SyntaxError: missing ) after argument list”?

 

直到找了好久,不停的Google网络上的资料,到后面找到真正的原因,才略微有点明白出现这样错误其实不仅仅是因为“真正”的少写了一个括号哦。

其实,如果你没些漏掉括号,我们应该去找另外的原因,比如以下代码:

$('.bannerList').append('<li><a target="_blank" href="' + bannerInfo.url + '" onclick="_gaq.push(['_trackEvent', 'app_ads_banner', 'banner', 'content_top',1,true]);"><img width="100%" alt="" src="' + bannerInfo.cover + '"></a></li>')

 

在这里,不知道大家看看哪里出问题了没有,运行后也会报错“Uncaught SyntaxError: missing ) after argument list”。

如果看不出来,在这里就解释下原因,JavaScript报错的原因是在onclick里面的拼接参数的问题,直接写是不行的,在这里我们需要转义下,如下操作:

onclick="_gaq.push([\'_trackEvent\', \'app_ads_banner\', \'banner\', \'content_top\',1,true]);"

当然有时候还跟单引号和双引号有关的,不能同时用单引号和双引号,互相包含即可,这个很多网友会忽略问题,这里提示下,以后记住咯。

好啦,我遇到的就这些了,如果你有其他解决“Uncaught SyntaxError: missing ) after argument list”方法,可以留言出来,一起学下咯。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注