Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2441774
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: JavaScript

2011-12-02 00:43:51


1。Hash关联数组定义

// 定义空数组
myhash = { }

// 直接定义数组
myhash = {”key1″:”val1″, “key2″:”val2″ }

// 用Array 定义数组
myhash = new Array();
myhash[”key1″] = “val1″;
myhash[”key2″] = “val2″;


2。向Hash关联数组添加键值

// 添加一个新键 newkey ,键值为 newval
myhash[”newkey”] = “newval”;


3。删除Hash关联数组已有键值

// 删除一个键 newkey ,同时,该键值对应的 newval 也就消失了。
delete myhash[”newkey”];


4。遍历Hash关联数组

// 遍历整个hash 数组
for (key in myhash) {
val = myhash[key];
}


5。判断数组是否存在key

JS中复合数组associative array和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),不能使用ary[key] == undefined,因为可能存在ary = {key:undefined};正确的方法应该为:

  1. var obj = {name:'jack'};  
  2. obj.hasOwnProperty('name'); // --> true  
  3. obj.hasOwnProperty('toString'); // --> false  

 

原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。

然而,如果使用 in 运算符的话,可以看到无论是name,还是原形链上的toString,都能检测到返回true。

  1. var obj = {name:'jack'};  
  2. alert('name' in obj); // --> true  
  3. alert('toString' in obj); // --> true  

 

阅读(2768) | 评论(0) | 转发(0) |
0

上一篇:HP 常用命令

下一篇:JavaScript 字符串操作

给主人留下些什么吧!~~