【发布时间】:2014-07-03 04:21:19
【问题描述】:
这个 HTML sn-p 创建一个对象原型,实例化它,然后尝试使用事件中该对象的方法,但未成功。
<body>
<button type="button" onclick="TestLogic()">Test Logic</button>
<script>
function onOff() //Object prototype
{
this.state = false;
function setState(newState) {
this.state = newState;
}
}
var inputOne = new onOff(); //Instantiate object prototype
function TestLogic() //buttonClick Event Handler
{
inputOne.setState(true);
// generates Uncaught Type Error undefined is not a function */
document.inputOne.setState(true);
// generates Uncaught Type Error Cannot read property setState of undefined
}
</script>
</body>
【问题讨论】:
-
document.inputOne 应该只是 inputOne 并且“function setState”应该是“this.setState= function setState”
-
setState是onOff的本地。您永远不会将其暴露为从外部调用。inputOne也不是document对象的属性。我建议阅读 quirksmode.org/js/contents.html 以更好地了解 JavaScript 以及它在浏览器中的工作原理。
标签: javascript html object eventhandler