我们在写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”方法,可以留言出来,一起学下咯。
发表回复