解决方案 »
- 用JS控制多个DIV的显示和隐藏问题,新版IE9,ie10浏览器不支持,我晕
- 求jquery lazyload的数据延迟加载,或某一个区域模块延迟加载
- 图片滚动求助
- 关于脚本javascript onchange事件 处理的问题。帮帮忙 谢谢
- 大虾们帮个助,俺先谢了。
- 一个关于含有特殊字符的confirm的问题(没有分了)
- 在JavaScript中,将数值格式化成小数点后两位,如果做啊?
- 简单的问题:如何通过元素的NAME来获得该元素?马上给分
- 一个大_______问题,谁能给我一段代码,目的是打开页面实现qq效果:
- js调用swf里面的方法 "对象不支持“CallFunction”属性或方法"
- 怎样让网页一打开就像F11那样全屏显示
- js函数传递在a标签中添加onclick执行出问题
function createRequest() {
try {
//这里没有用var 声明。request就成了全局变量
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
/////////////////////////
function showTab() {
var request = creatRequest();
/* 略 */
request.onreadystatechange = showAjax;
/* 略 */
}
//showTab()和showAjax()是两个独立的函数。不是闭包函数
function showAjax() {
//这里的request不是showTab()函数中定义的局部变量,而是createRequest()函数中定义的全局变量
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById("content").innerHTML = request.responseText;
}
}
}
var request = creatRequest();
/* 略 */
function showAjax() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById("content").innerHTML = request.responseText;
}
}
}
request.onreadystatechange = showAjax;
/* 略 */
}
var request = creatRequest();
/* 略 */
request.onreadystatechange = function() {
if (request.readyState == 4) {
/*略*/
}
};
/* 略 */
}如果这样改写,这个就不是独立函数,就用showTab的request了。。.?
var request = creatRequest();
/* 略 */
request.onreadystatechange = showAjax;
/* 略 */ function showAjax() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById("content").innerHTML = request.responseText;
}
}
}
}这样才是一个明显的封闭区域 才是一个稳固的闭包