1 js中方法传值引起的报错
1) 传入的值是全局变量
var test = 'fhsdjs' //全局变量
function a() {
// test属于全局变量,直接传入即可,不会报错
document.body.innerHTML = '<div id="d1" onclick=fn(test)>kjk</div>'
}
a()
function fn(val) {
console.log('val===', val)
}
运行结果如下
2) 传入的值是局部变量
function a(){
var test = 'hhhhh1' //test是局部变量
document.body.innerHTML = '<div id="d1" onclick=fn(\''+test+'\')>kjk</div>'
// 单双引号互换,参考下面的写法
// document.body.innerHTML = "<div id='d1' onclick=fn(\'"+test+"\')>kjk</div>"