我正在尝试使用没有全局变量的windows.load。
HTML代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href="main.css">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<form>
Name: <input type="text" id="txt1"><br><br>
<input type="button" value="Check Input" id="b1">
</form>
</body>
</html>
JavaScript全局变量代码:
/*jslint browser: true*/
var myButton;
window.onload = function () {
"use strict";
myButton = document.getElementById("b1");
myButton.addEventListener("click",alertMM);
};
function alertMM() {
"use strict";
window.console.log(myButton.value);
}
最后是没有全局变量代码的NOT WORKING:
/*jslint browser: true*/
var myNS = {
myButton: undefined,
//
setUp: function () {
"use strict";
myNS.myButton = document.getElementById("b1");
myNS.myButton.addEventListener("click", alertMM);
}
};
window.onload = myNS.setUp();
function alertMM() {
"use strict";
window.console.log(myNS.myButton.value);
}
我想停止使用全局变量的原因是,恐怕它将与将来的代码冲突。
提前致谢
阿德里安
在:
window.onload = myNS.setUp();
定义window.onload
回调时,您应该为其分配函数本身(只是myNS.setUp
),以便以后可以调用它。您的代码要做的是立即调用该函数并分配结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句