首页 > 代码库 > js04---object1

js04---object1

我们目前为止大多数引用类型都是Object类型的实例,Object也是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object类型是所有它的实例的基础)。Object类型的创建方式、使用对于Object类型应用for in 枚举循环 


Object每个实例都会具有下列属性和方法:
Constructor: 保存着用于创建当前对象的函数。(构造函数)
hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中(而不是原型中)是否存在。
isPrototypeOf(Object): 用于检查传入的对象是否是另外一个对象的原型。
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。
toLocaleString():返回对象的字符串表示。该字符串与执行环境的地区对应.
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔表示。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type=text/javascript charset=utf-8>
/*var obj = {} ;
obj.say = function FF(){  //这里的FF外部是使用不了的
    alert(‘hello world!‘);                    
}
FF();//FF is not defined,相当于window.FF(),没有window.FF = function(){}
var f = new FF();//FF is not defined  */

        //Object 所有类的基础类 
        var obj1 = new Object();
        var obj = {} ;        // 实例化对象,2中写法一样,
        // 给对象设置属性
        obj.name = 张3;
        obj.age  = 20 ; 
        obj.sex  = ;
        obj["birthday"] = 1980-08-07;
        obj.say = function(){  //匿名对象
            alert(hello world!);                    
        }
        // 访问对象的属性或方法
        alert(obj.name);
        alert(obj.age);
        obj.say();
        
        // delete 操作符 删除对象的属性或方法的
        delete obj.age ;
        delete obj.say ;
        alert(obj.name);
        alert(obj.age);//undefined
        alert(obj.sex);
        obj.say();//say is not a fuchtion
        
        //遍历js对象,便利json,
        for(var attribute in obj) {
            alert(attribute + typeof attribute +" : "+ obj[attribute]);  //obj[attribute]要用中括号,不能用点。
        }
        //name string : 张3,  age string : 20  ,sex string : 男 ,birthday string : 1980-08-07  ,say string : function(){alert(‘hello world!‘);}
        
        
        //Constructor保存对象的创建函数
        alert(obj.constructor);//function Onject(){}
        var arr = [] ; 
        alert(arr.constructor);//function Array(){}
        
        //hasOwnProperty(propertyName) 用于检测给定属性在对象中是否存在
        alert(obj.hasOwnProperty(sex));
        
        //isPrototypeOf(Object) 检测原型 
        
        //检测给定的属性是否能被for in 所枚举出来 
        alert(obj.propertyIsEnumerable(say));
        </script>
    </head>
    <body>
    </body>
</html>

 

js04---object1