【Object类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展

本文介绍了JavaScript中如何使用Object作为字典存储数据,并通过for-in语句进行遍历。展示了如何创建对象、添加属性及使用不同方式访问这些属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object原生类型

• ECMAScript Spec中定义(ecma-262)
 – 一个无需的集合,可以存放任意类型对象
• 常作为字典使用
 – o.ItemName
 – o[“ItemName”]
• 可以使用for-in遍历字典中每一项
• 禁止扩展其prototype对象
 – 其扩展将会出现所有的对象中
 – 影响for操作的结果
• Microsoft AJAX Library并没有扩展Object类型

 

Object.prototype. …

• 出现在所有对象中(原因见上图)
• toString() / toLocaleString()
 – 得到表示当前对象与环境无/有关的字符串
• valueOf()
 – 返回表示该对象的value(大部分类型会覆盖这个方法)
• hasOwnProperty(propertyName)
 – 对象上是否直接定义了某个属性
 – 不考虑prototype链
• isPrototypeOf(obj)
 –obj是不是当前对象的prototype对象
 – 顺着prototype链查找
• propertyIsEnumerable(propertyName);
 – 某属性是否可遍历
 – 不考虑prototype链

-------------------------------------------------------------------------------------------

实例

aspx页面

<div id="info"></div>
	<script language="javascript" type="text/javascript">
		function display(text)
		{
			document.getElementById("info").innerHTML += (text + "<br />");
		}
	
		function useAsDictionary()
		{
			var o = new Object(); // {}; {name : "Jeffrey"}
			o["name"] = "Jeffrey";//赋值
			o.salary = 1000;//赋值,可用不同的方式
			display("Name: " + o.name);//调用时同样可用不同的方式
			display("Salary: " + o["salary"]);//调用
			display("---------------------");
		}
		
		function useForInStatement()
		{
			var dict = new Object();
			for (var i = 0; i < 10; i++)
			{
				var key = "key_" + i;
				dict[key] = Math.random();
			}
			
			delete dict["key_5"];//删除期中的某一项
			
			for (var key in dict)
			{
				display("Key: " + key + ", Value + " + dict[key]);
			}
		}
		
		useAsDictionary();
		useForInStatement();
	</script>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值