js的Object类型
2008-05-04 10:56
267 查看
Object类型
•ECMAScriptSpec中定义(ecma-262)
–一个无序的集合,可以存放任意类型对象
•常作为字典使用
–o.ItemName
–o[“ItemName”]
•可以使用for-in遍历字典中每一项
•禁止扩展其prototype对象
–其扩展将会出现所有的对象中
–影响for-in操作的结果
•MicrosoftAJAXLibrary并没有扩展Object类型
•toString()/toLocaleString()
–得到表示当前对象与环境无/有关的字符串
•valueOf()
–返回表示该对象的value(大部分类型会覆盖这个方法)
•hasOwnProperty(propertyName)
–对象上是否直接定义了某个属性
–不考虑prototype链
•isPrototypeOf(obj)
–obj是不是当前对象的prototype对象
–顺着prototype链查找
•propertyIsEnumerable(propertyName);
–某属性是否可遍历
–不考虑prototype链
html
<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>
•ECMAScriptSpec中定义(ecma-262)
–一个无序的集合,可以存放任意类型对象
•常作为字典使用
–o.ItemName
–o[“ItemName”]
•可以使用for-in遍历字典中每一项
•禁止扩展其prototype对象
–其扩展将会出现所有的对象中
–影响for-in操作的结果
•MicrosoftAJAXLibrary并没有扩展Object类型
•toString()/toLocaleString()
–得到表示当前对象与环境无/有关的字符串
•valueOf()
–返回表示该对象的value(大部分类型会覆盖这个方法)
•hasOwnProperty(propertyName)
–对象上是否直接定义了某个属性
–不考虑prototype链
•isPrototypeOf(obj)
–obj是不是当前对象的prototype对象
–顺着prototype链查找
•propertyIsEnumerable(propertyName);
–某属性是否可遍历
–不考虑prototype链
html
<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>
相关文章推荐
- 《JavaScript高级程序设计》——JS中Object与Array类型常用方法。
- js中通过Object.prototype.toString方法----精确判断对象的类型
- js中object类型中的三个方法
- Js比较对Object类型进行排序
- [JS高程]引用类型(Object、Array)
- js 检测数据类型instanceof/constructor和 Object.prototype.toString.call()
- js中通过Object.prototype.toString方法----精确判断对象的类型
- js进行类型判断 Object.prototype.toString.call()
- js 引用类型 -- Object类型
- 【JS】类型转换 Object->valueOf()->toString()
- js中通过Object.prototype.toString方法----精确判断对象的类型
- js中的object类型
- js学习笔记:引用类型——Object
- js里怎么判断一个对象是否是日期类型,即Date,用typeof返回的是object
- js 引用类型之object类型
- js如何获取object类型里的键值
- Acrobat PDF的ActiveObject控件js方法SetView控制页面展示类型
- js中利用Object.prototype.toString.call()判断数据类型
- js数值为引用类型(object), 传递参数(参数为object)按引用传递,并非书中按值传递
- js学习之javascript引用类型object--练习模拟Map和数组去重