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)
}