举个简单例子,希望你能明白,
1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var dd = []var a = { "cname": "tom" }
for (var i = 0 i <4 i++) {
dd[i] =a
}
dd[0].cname = "jim"
alert(dd[2].cname)
2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var dd = []var a = 0
for (var i = 0 i <4 i++) {
dd[i] =a
}
dd[0]=1
alert(dd[2])
希望对你有帮助!
//使用var url="http://lu.sohu.com/send/luport/get_psd.php?phone="+MobileNo.innerText
//alert(url)
send_request("GET",url,null,"TEXT",processTextResponse)
//定义XMLHttpRequest对象实例
var http_request = false
//定义可复用的http请求发送函数
function send_request(method,url,content,responseType,callback)
{//初始化、指定处理函数、发送请求的函数
http_request = false
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest)
{ //Mozilla 浏览器
http_request = new XMLHttpRequest()
if (http_request.overrideMimeType)
{//设置MiME类别
http_request.overrideMimeType("text/xml")
}
}
else if (window.ActiveXObject)
{ // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP")
} catch (e) {}
}
}
if (!http_request)
{ // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.")
return false
}
if(responseType.toLowerCase()=="text")
{
//http_request.onreadystatechange = processTextResponse
http_request.onreadystatechange = callback
}
else if(responseType.toLowerCase()=="xml")
{
//http_request.onreadystatechange = processXMLResponse
http_request.onreadystatechange = callback
window.alert("响应类别参数错误。")
return false
}
// 确定发送请求的方式和URL以及是否异步执行下段代码
if(method.toLowerCase()=="get")
{
http_request.open(method, url, true)
}
else if(method.toLowerCase()=="post")
{
http_request.open(method, url, true)
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
http_request.setRequestHeader("Accept-Language","zh-cn")
}
else
{
window.alert("http请求类别参数错误。")
return false
}
http_request.send(content)
}
// 处理返回文本格式信息的函数
function processTextResponse()
{
var element = document.getElementById("main")
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
//alert(http_request.responseText)
var p = http_request.responseText
var errtd = document.getElementById("errtd")
errtd.innerHTML =""
errtd.style.display = ""
var returnstr = p.split("|")
errtd.innerHTML = returnstr[1]
//errtd.innerHTML = p
//if(p=="true"){
// //alert(p)
// var errtd = document.getElementById("errtd")
// errtd.innerHTML =""
// errtd.style.display = ""
// errtd.innerHTML = "已成功提交了您的订购,稍后您的手机会收到短信,请回复“好”完成订购"
//}else{
// //alert(p)
// var errtd = document.getElementById("errtd")
// errtd.innerHTML =""
// errtd.style.display = ""
// errtd.innerHTML = "您所在的地区没有上线"
//}
} else
{
alert("您所请求的页面有异常。")
}
}
else
{
//timervar p = document.getElementById("progress")
//p.innerText = "完成"
}
}
多端阅读《javascript教程》:
在PC/MAC上查看:下载w3cschool客户端,进入客户端后通过搜索当前教程手册的名称并下载,就可以查看当前离线教程文档。下载javascript教程离线版客户端
在手机APP上查看:请从各大安卓应用商店、苹果App Store搜索并下载w3cschool手机客户端,在App中搜索当前教程手册的名称查看。下载w3cschool手机App端
在手机上查看文档:https://m.w3cschool.cn/javascript/
手册简介:
JavaScript 是世界上最流行的脚本语言。 JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话。 JavaScript 被设计为向 HTML 页面增加交互性。 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。几乎每个人都有能力将小的 JavaScript 片段添加到网页中。
手册说明:
Javascript,从“最被误解的语言”,最后神奇地转变成为“最流行的语言”,证明它经受得起时间的考验。虽然单独来看,它的交互设计有些失败,但是加上Ajax的完美配合,javascript就成了一款轻便并且又实用的好语法。
如果您想要更高效、更系统地学会javascript,您最好采用边学边练(javascript微课)的学习模式。
如果您觉得javascript的学习难度较高,不易理解,建议您采用视频教程进行学习:javascript视频课程
接下来让我们静下心来,翻开这本关于Javascript的教程,你可以学习到JavaScript 代码规范、JavaScript 函数撰写、javascript 正则表达式、JavaScript 逻辑运算等基础内容,除此之外,本书还有进阶的Javascript高级教程,最好在熟读前面的基础知识之后,再考虑继续之后的教程。
高级教程当中包含的内容有很重要的JavaScript 对象介绍,JavaScript Window对象模型介绍,JavaScript 库以及JavaScript 实例等等,每一个章节都值得细细研读。
学完本教程之后,建议您进行javascript实战来巩固您学到的知识。