关于JS在模板字符串里的函数调用不了外部的方法,求解惑,这问题困扰了很久!

window.onload = function(){

var html = "";

    html += 

    `

    <div onclick="test()">点击触发</div>

    `

    $("body").append(html);     

    function test(){

    console.log(1)

    }

}

 注:想具体知道什么原因,并且题主知道把这个函数放到window.onload外面就可以调用到了。有没有什么办法能在里面调用到函数,因为题主需要在里面取数据用,放到外面就拿不到了。(不知道是不是作用域的原因)


慕村5492868
浏览 2527回答 1
1回答

千秋此意

就是作用域的问题,你的test是定义在一个函数作用域内,onclick属性直接执行js调用函数只能找到全局作用域里的函数,非要这么写的话你可以把function test() {    console.log(1)}替换成window.test = function() {    console.log(1)}
打开App,查看更多内容
随时随地看视频慕课网APP