asfman
android developer
posts - 90,  comments - 213,  trackbacks - 0

.Net下大家肯定都用过Hashtable,其实js也是支持的,用数组就可以了,可能很多人没有用过:

var t = new Array();
t["a"] = "A";
t["b"] = "B";
t["c"] = "C";
t["d"] = "D";

delete t["d"];

for(var k in t)
{
alert("key:" + k + ", value:" + t[k] );
}
1楼  【求助】问个不知道是不是hashtable的问题
<script>
//----------------方法一
var Info=
{
Email: "a"
}
alert(Info["Email"])
alert(Info.Email)

//---------------方法二
var Info= new Array()
Info["Email"]="a"
alert(Info["Email"])
alert(Info.Email)
</script>
上面这两种方法似乎很相似...
不知道他们是不是同是Array对象...???
另..有朋友说第一种方法,也就是
var Info=
{
Email: "a"
}
等价于
var Info= function()
{
this.Email= "a"
}  

但是这样alert(Info["Email"]) 得不到Email的值...

各位高人..给个提示...

问题一:
var Info=
{
Email: "a"
}
到底等价于什么?
问题二:方法一和方法二是一个对象么?
2楼  

var Info={Email: "a"}  等价于 var Info = new Object(); Info.Email = "a"
方法1跟方法2不是一个对象,1是Object,2是Array

3楼  

那为什么var Info={Email: "a"}
可以alert(Info["Email"])?


var Info = new Object(); Info.Email = "a"
不能.
alert(Info["Email"]);
<script>
//----------------方法一
var Info=new Object()
Info.Email="aa"
alert(Info["Email"])
alert(Info.Email)

//---------------方法二
var Info= new Array()
Info["Email"]="a"
alert(Info["Email"])
alert(Info.Email)
</script>
5楼  
<script>
var obj = new Object();
  obj["name"] = "value";
alert(obj["name"] )
</script>
这样又行....实在是晕....
6楼  

 7这样当然行啊,因为如果obj是Object的话obj['name']=obj.name
哦.....我知道了.....是我写的那个obj没有被实例化
var Info= function()
{
this.Email= "a"
}  

alert(new Info()["Email"])
9楼  
呵呵,<SCRIPT LANGUAGE="JavaScript">
<!--
var t = new Object();
t["a"] = "A";
t["b"] = "B";
t["c"] = "C";
t["d"] = "D";

delete t["d"];

for(var k in t)
{
alert("key:" + k + ", value:" + t.k );
}

//-->
</SCRIPT>
为什么上面的t.k就不可以?
而单独的t.a t.b t.c就可以,不知道什么原因?

12楼  

alert("key:" + k + ", value:" + t[k] );

哈哈..你没有理解哇...
我理解你var Info=
{
Email: "a"
}
等价于
var Info= function()
{
this.Email= "a"
}  
了,只是不理解t.k为什么不可以?
你的签名怎么老变?为什么用for in 的时候t.k会是undefined?

15楼  

我不知道怎么说了..呵...你再好好看看..应该看得懂的.
<SCRIPT LANGUAGE="JavaScript">
<!--
var t = new Object();
t["a"] = "A";
t["b"] = "B";
t["c"] = "C";
t["d"] = "D";

delete t["d"];
alert(t.a);alert(t.b);alert(t.c);alert(t.d);
for(var k in t)
{
alert("key:" + k + ", value:" + t.k );
}

//-->
</SCRIPT>

17楼  

t.a  t.b
是直接引用..
跟以
document.all.a  等价于 document.all("a")
如果是一个变量就是
var b="a"
document.all(b)
18楼  

t.k变成t."a"这样了,我知道了 thx



posted on 2006-03-20 23:29 汪杰 阅读(416) 评论(0)  编辑 收藏 引用 所属分类: javascript
只有注册用户登录后才能发表评论。

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(15)

随笔分类(1)

随笔档案(90)

文章分类(727)

文章档案(712)

相册

收藏夹

http://blog.csdn.net/prodigynonsense

友情链接

最新随笔

搜索

  •  

积分与排名

  • 积分 - 466814
  • 排名 - 6

最新随笔

最新评论

阅读排行榜

评论排行榜