js的Object类型

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>
posted on 2008-05-04 10:56  一粒沙  阅读(15197)  评论(0编辑  收藏  举报