求助:Uncaught ReferenceError: concprop未定义问题解决
解决方案
问题出在CodePen的JS代码作用域上——默认情况下,CodePen会把你的JS代码包裹在一个独立的闭包里,所以你定义的concprop函数并不是全局变量,HTML里的onclick="concprop()"或者onload自然找不到它。
给你两种可行的解决办法:
把函数挂载到全局作用域
修改你的函数定义,直接绑定到window对象上,这样全局就能访问到:window.concprop = function() { let x = document.getElementById("demo"); x.innerHTML = "Hello World!"; }改用事件监听绑定(更推荐)
放弃inline的onclick写法,在JS里直接给按钮绑定点击事件,同时确保DOM加载完成后执行绑定:function concprop() { let x = document.getElementById("demo"); x.innerHTML = "Hello World!"; } document.addEventListener('DOMContentLoaded', function() { document.querySelector('button').addEventListener('click', concprop); });记得把HTML按钮上的
onclick="concprop()"删掉。
额外提一句:inline事件绑定(比如onclick)不仅容易碰到作用域问题,还不利于代码的后期维护,用事件监听的写法是更规范的前端开发方式。
内容的提问来源于stack exchange,提问作者yopa park
相关产品推荐
相关产品推荐

