关于在网页拼接时出现:“Uncaught SyntaxError: missing ) after argument list”的真凶在哪里

关于在网页拼接时出现:“Uncaught SyntaxError: missing ) after argument list”的真凶在哪里

大家好,又见面了,我是全栈君。

我们在写JS的时候,有时候报错“Uncaught SyntaxError: missing ) after argument list”,有些童鞋就蒙蔽了,真凶在哪里呢?

201808311535647264188732.jpg

字面翻译过来的意思:语法错误: 参数列表后面缺少 )

这不就是缺少括号的意思么?然而只是真的缺少括号才会出现这样的报错么?不尽然。今天就在做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]);"

我的是这样的

//搜索用户
function permissionSearch(){
	var searchUser=$("#searchUser").val();
	var appid=$("#appid").val();
	var tdStr = '';
	$.ajax({
		type: "POST",
		dataType: "json",
		url:"/admin/app/searchUser",
		data:  { 'appid': appid, 'searchUser': searchUser },
		success: function (result) {
			$('#newUser').html(result.data.name);
			if (result.state == 1) {
				tdStr='<tr> <td  class="center">新授权人</td><td  class="center"><span id="newUser">'+ result.data.name +'( '+result.data.email+')' +'</span></td><td  class="center"><button class="btn-sm table_close btn btn-danger" id="update_permission" data-dismiss="modal2" onclick="update_permission(\''+result.appid+'\',\''+result.data.email+'\',\''+result.data.name+'\',\''+result.data.mobile+'\')">授权</button></td> </tr>';
			}else{
				tdStr = '<tr> <td colspan="15" class="center">'+result.msg+'</td></tr>';
			};
			$('tbody.table_open_data').append(tdStr);
		},
	});
}

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111458.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • excel怎么赋值0和1_excel如何分段赋值

    excel怎么赋值0和1_excel如何分段赋值getCell 获取列 需要用 createCell获取即可。导出报表时,明明是有数据的可就是报空指针异常。排查后发下报表表格没内容时不能用。

    2022年8月19日
    7
  • echarts饼图中间文字,固定,改成自己想要的值

    echarts饼图中间文字,固定,改成自己想要的值我们都知道饼图中间的文字可能会随着,各种业务的需求,饼图中间的文字都需要或者不需要,那么就需要实现了,其实很简单第一步先把这个地方的true改成false第二部加入这个方法,在text中页自己想要展示的就行了最后的效果……

    2022年10月22日
    0
  • pycharm清缓存_pycharm安装包很慢

    pycharm清缓存_pycharm安装包很慢解决pycharm缓存文件问题方法一方法二使用pycharm一段时间后,C盘空间也越来越小。这是因为pycharm在C盘生成了大量的缓存文件。解决C盘占用过大,有两个方法:方法一:直接删除pycharm缓存文件(暴力有效)方法二:更改缓存文件路径方法一content.dat.storageData是pycharm的缓存文件,动辄几个G,直接将其删除即可。不会影响pycharm使用。缺点就是每隔一段时间要记得清理,否则C盘可能就要爆炸。content.dat.storageData文件一般存

    2022年8月28日
    9
  • 安卓数据转移到iphone老是中断_关于iPhone手机之间数据转移的几种方式[通俗易懂]

    安卓数据转移到iphone老是中断_关于iPhone手机之间数据转移的几种方式[通俗易懂]最近肯定有很多小伙伴已经买了iPhone11的新机,或者有些打算换一台新iPhone。拿到新机之后转移数据可是一件麻烦的事。关于iPhone手机之间的数据转移有哪几种呢?今天码哥就来跟大家科普一。其实,除了通过iTunes或者iClouds之外,苹果后来又增加了两种方式:1.通过无线局域网把数据从旧iPhone传输到新iPhone手机。2.通过LightingtoLifhtin…

    2022年9月18日
    0
  • java菜鸟教程+视频笔记

    java菜鸟教程+视频笔记1、java中局部变量是在栈上分配的;2、数组是储存在堆上的对象,可以保存多个同类型变量;3、在Java语言中,所有的变量在使用前必须声明。4、局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。5、内置类型有默认值,引用对象的默认值是null;6、非静态实例变量、非静态方法是通过对象实例进行调用的,不能直接从静态方法中调用;比如java源文件中main方法中不可以直接调用非静态…

    2022年6月14日
    26
  • css animation动画(css3动画分享)

    css3小动画,实在是丰富了前端展示页面的效果。虽然IE8不兼容(爱兼容不兼容,奏是这么傲娇)。但是在谷歌,火狐表现都没差。今天就介绍一个css3动画小插件,分分钟满足你实现各种妖魔化动画效果。1.需要引入css文件:animate.css2.引入js文件:wow.min.js3.找到页面中需要添加动画的元素添加class;比如:wowfadeInRightanimatedan…

    2022年4月15日
    64

发表回复

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

关注全栈程序员社区公众号