如何避免JavaScript中的全局变量?
我们都知道全局变量不是最佳实践。但有几个例子,没有它们很难编码。您使用什么技术来避免使用全局变量?
例如,给定以下场景,您将如何使用全局变量?
JavaScript代码:
var uploadCount = 0;window.onload = function() {
var frm = document.forms[0];
frm.target = "postMe";
frm.onsubmit = function() {
startUpload();
return false;
}}function startUpload() {
var fil = document.getElementById("FileUpload" + uploadCount);
if (!fil || fil.value.length == 0) {
alert("Finished!");
document.forms[0].reset();
return;
}
disableAllFileInputs();
fil.disabled = false;
alert("Uploading file " + uploadCount);
document.forms[0].submit();}相关标记:
<iframe src="test.htm" name="postHere" id="postHere" onload="uploadCount++; if(uploadCount > 1) startUpload();"></iframe><!-- MUST use inline JavaScript here for onload event to fire after each form submission. -->
此代码来自具有多个的Web表单<input type="file">。它一次上传一个文件以防止大量请求。它通过POST到iframe,等待触发iframe onload的响应,然后触发下一次提交来完成此操作。
您不必专门回答这个例子,我只是提供它来参考我无法想到避免全局变量的方法。
猛跑小猪
慕运维8079593
随时随地看视频慕课网APP
相关分类