【head first ajax】如何判断闭包函数?
createRequest()存在于一个文件里面
另一个文件中:
我认为 showAjax中的函数是var request这个局部变量,因为是闭包函数;但是head first ajax 说 这个是createRequest()定义的全局变量。有满意答案 肯定结贴。。。
有一个参考:
head first javascript中 下面这个是闭包函数:
onclick 与之前的onreadystatechange 形式上是一样的,分别为button和request的属性值。。为什么一个是闭包,一个不是??
function createRequest() {
try {
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;
/* 略 */
}
function showAjax() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById("content").innerHTML = request.responseText;
}
}
}
我认为 showAjax中的函数是var request这个局部变量,因为是闭包函数;但是head first ajax 说 这个是createRequest()定义的全局变量。有满意答案 肯定结贴。。。
有一个参考:
head first javascript中 下面这个是闭包函数:
window.onload = function() {
var count = 0;
var message = "You clicked me ";
var div = document.getElementById("message");
var button = document.getElementById("clickme");
button.onclick = function() {
count++;
div.innerHTML = message + count + " times!";
};
};
onclick 与之前的onreadystatechange 形式上是一样的,分别为button和request的属性值。。为什么一个是闭包,一个不是??
...全文
相关推荐
Head First Ajax
《Head First Ajax》是Head First系列丛书的一部分,专注于前端开发的Ajax技术。本书围绕Ajax技术展开,讲述了如何使用Ajax构建具有动态用户界面的Web应用程序。
Head First AJAX 深入浅出
### Head First AJAX 深入浅出:关键知识点解析#### 一、引言《Head First AJAX 深入浅出》是一本专注于讲解AJAX技术及其在现代Web开发中应用的专业书籍。
Head First Ajax(英+中+代码)
《Head First AJAX》是一本专为初学者设计的AJAX(Asynchronous JavaScript and XML)教程,旨在通过生动有趣的方式引导读者深入理解AJAX的核心概念和技术。
head first ajax中文版
《Head First AJAX》中文版特别注重实践,提供了许多动手项目和示例代码,帮助读者将理论知识转化为实际技能。
head first ajax 源代码
《Head First AJAX》是一本非常受欢迎的Web开发书籍,它深入浅出地介绍了如何使用Ajax技术来构建富互联网应用程序(RIA)。


