如何避免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
相关分类