javascript为什么可以动态添加属性
发布网友
发布时间:2022-07-27 03:02
我来回答
共3个回答
热心网友
时间:2023-10-24 11:50
//---------
如此,所谓js对象,是一个关联数组,关联数组是一个数据结构体,这不单在js上有,在其他编程语言也有,所以这是一个数据结构的定义问题,不是js本身的问题
为什么说js对象是一个关联数据,看下面注释,效果一样
var data ={};
data.date = new Date(); //data["data"]=new Date() 添加关联数组的一个元素并赋值
date.obj = {}; //date["obj"]={}
甚至对所谓有序数组, var arr=["a","b","c"],可以这样访问,
arr["0"] //a
arr["1"] //b
arr["2"] //c
甚至空字符串也可以作为关联数组的键
vat obj={};
obj[""]="空字符串做键名" ;
这种情况下,用圆点符无法访问到“属性名“为空字符串的属性
简言之,用关联数组方式可以访问到一切定义的属性,用圆点符却不能,这也证明了js对象的本质是关联数组
热心网友
时间:2023-10-24 11:50
<script type="text/javascript">
var box=document.createElement("input")
box.setAttribute("type","checkbox")
box.setAttribute("id","a")
document.body.appendChild(box)
function oo()
{
var c=document.getElementById("a")
if(c.getAttribute("checked"))
{
alert("选中")
}
else
{
alert("未选中")
}
}
</script>
可以选中啊
热心网友
时间:2023-10-24 11:50
...咦?,果然有深度....等答案
LS,LZ说的不是这个意思
他的意思是大概是这样
var data ={};
data.date = new Date();
date.obj = {};
是这样?..
好像是这样?...