高手帮忙看一下javascript函数传递参数的问题.

formatter:function(value,rowData,index){varval=rowData.targetGoalValue;vars='<ahref="... formatter : function(value,rowData,index){
var val = rowData.targetGoalValue;
var s = '<a href="javascript:saverow(\''+val+'\',\''+tim+'\','+index+',\'zbsdsrlb\');">保存</a>';
return s;
}
上面这段函数是easyui datagrid里面的格式化列的函数,其中我通过rowData对象得到了其中的一个值然后当作saverow函数的参数传递进去,可是那个值为什么要\''+val+'\'用这种形式转义才能传递进去,而'+index+'又不需要进过转义可以直接传递进去。
展开
 我来答
nbyh2012
2013-06-26 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:803万
展开全部

其实这是个简单的问题,关键是格式不太好,所以我也绕了半天。请看:

var val = '<a href="javascript:saverow(\''+val+'\',\''+tim+'\','+index+',\'zbsdsrlb\');">保存</a>'

代码有颜色显示,你是否明白了?其中val、tim、index都是变量,他们和其余的字符串是连接在一起的。最后的'zbsdsrlb'是个字符串。这里不是一个函数调用,仅仅是表示a标签href属性的值。在点击链接后,里面的代码才会运行。


其中\'表示一个单引号,而不带转义的',表示一个字符串边界。因为其含义不好用文字表述,所以你的眼睛要亮一下~


里面的内容去除转义后再带入一些值,是这样的:

// 假设
// val = 'value';
// tim = 'value2';
// index = 'value3';
<a href="javascript:saverow('value', 'value2', 'value3', 'zbsdsrlb');">保存</a>
1039547818
2013-06-27
知道答主
回答量:33
采纳率:50%
帮助的人:19.2万
展开全部
单引号域双引号的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5685470
2013-06-26 · TA获得超过403个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:152万
展开全部
val是个字符串,index是个数字。字符串当然要用引号;;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式