js中拼接字符串的函数中如何传json对象

最近在一些前段页面中,动态append网页元素,其中要传10-20个参数,例如:

//创建一个json对象,当然,也可以是返回的json对象。

var tempObj=new Object();

tempObj.a='aaa';

tempObj.b='bbb';

tempObj.c='ccc';

tempObj.d='ddd';

//........


// 就相当于var tempJson={'a':'aaa','b':'bbb','c':'ccc','d':'ddd','e':'eee'};//...........

var tempJsonStr=JSON.stringify(tempObj).replace(/\"/g,"'")

document.getElementById("testDiv").innerHTML='<div οnclick="testFun('+tempJsonStr+')">


这样当点击 testDiv的时候,就把对应的 tempJson这个对象传给函数中了,直接在对应的函数中用就可以了。如果不用JSON.stringify(tempObj),则传过去的是[object Object],就达不到我们想要的效果了。


下面是详细的代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
<script type="text/javascript">
function init(){
var tempObj=new Object();
tempObj.a='aaa';
tempObj.b='bbb';
tempObj.c='ccc';
tempObj.d='ddd';
//........
// 就相当于var tempJson={'a':'aaa','b':'bbb','c':'ccc','d':'ddd','e':'eee'};//...........
var tempJsonStr=JSON.stringify(tempObj).replace(/\"/g,"'")
document.getElementById("testDiv").innerHTML='<div οnclick="testFun('+tempJsonStr+')">请点击这里进行测试</div>'
}
function testFun(obj){
console.log(obj.a)
console.log(obj.b)
console.log(obj.c)
console.log(obj.d)
}
</script>
<style type="text/css">
</style>


</head>
<body οnlοad="init()">
<div id="testDiv">

</div>
</body>
</html>


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值