我们在写JS的时候,有时候报错“Uncaught SyntaxError: missing ) after argument list”,有些童鞋就蒙蔽了,真凶在哪里呢?
字面翻译过来的意思:语法错误: 参数列表后面缺少 )
这不就是缺少括号的意思么?然而只是真的缺少括号才会出现这样的报错么?不尽然。今天就在做jQuery基本事件练习的时候,被这个错误给误导不浅。来来回回找了不下三四遍,没有少括号啊?
直到……找到真正的元凶,才略微有点明白出现这样错误其实不仅仅是因为“真正”的少写了一个括号哦。
其实,如果你没些漏掉括号,我们应该去找另外的原因,比如以下代码:
$('.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”。
如果看不出来,我就解释下原因,报错的原因是在onclick里面的拼接参数的问题,直接写是不行的,我们需要转义下,如下操作:
onclick="_gaq.push([\'_trackEvent\', \'app_ads_banner\', \'banner\', \'content_top\',1,true]);"
当然有时候还跟单引号和双引号有关的,不能同时用单引号和双引号,互相包含即可,这个很多童鞋会忽略问题,这里提示下,以后记住咯。
好啦,我遇到的就这些了,如果你有其他方法,可以留言出来,一起学下咯。
网友评论文明上网理性发言 已有0人参与
发表评论: