js 对象 字符串 报错 传参数 传参 报错 对象
案例:
$('body').append('<button onclick="xx('+aa+')">点我</button>');
像以上的js把对象参数aa跟字符串拼接在一起是会报错的。传数值、字符串不会。
如果一定要传对象参数可以这么做:
$(function () { $('#test').click(function () { window._this=$(this); //解决1:如果是传$(this)复杂的对象,可以将对象赋值到全局中 //解决2:如果是这种json格式可以使用以下方法转换。 var aa= JSON.stringify( [1,2,"ff",{aa:123,bb:[1,2,"gg"]}] ).replace(/\"/g,"'") $('body').append('<button onclick="xx('+aa+')">点我</button>'); }); }); function xx(aa) { console.log(_this) console.log(aa) }