javaScript(引用类型----Object)

Object类型---基础


所有类的基础类(Object)

//创建方法(实例化对象):
var obj = new Object();//方式一
var obj={};//方式二

//对象设置属性
obj.name='张三';
obj.age=18;
obj['sex'] = '男';//属性赋值的另一种方式
obj.talk=function(){
    alert("我了个去%^^#^@.....")
}

//对象的属性或方法的调用
alert(obj.name)
alert(obj.age)
obj.talk();

//delete(删除对象的属性或方法)
delete obj.age;
delete obj.talk()

//如何遍历一个js对象,for in 语句
for(var attr in obj){
    alert(attr);//对象的属性
    alert(obj[attr])//对象的属性的值
}

Object每个实例都有的属性和方法:

方法 描述
constructor 保存着用于创建当前对象的函数(构造函数)
hasOwnProperty(propertyName) 用于检查传入的属性是否存在于当前实例对象中(而不是原型对象),返回true或false
isPrototypeOf(Object) 用于检查传入的对象是否是另一个对象的原型,检测原型的方法
propertyIsEnumerable(propertyName) 用于检查传入的属性是否能被for in 所枚举出来
toLocaleString() 返回对象的字符串,该字符串与执行环境的地区对应
toString() 返回对象的字符串
valueOf() 返回对象的字符串、数值或布尔值

用js模拟JAVA的Map

var m =  new Map();
    m.put('01','zhangsan');
    m.put('02','nan');
    m.put('03','20');
    m.put('04','java');
    
function Map(){
    var obj = {};//空对象容器,承装键值对
    //put方法
    this.put=function(key,value){
        obj[key]=value;//把键值对绑定到obj
    } 
    //size方法
    this.size=function(){
        count = 0;
        for(var attr in obj){
            count++;
        }
         return count;
    }
    //get方法根据key获得value
    this.get=function(key){
        if(obj[key]||obj[key]===0||obj[key]===false){
            return obj[key];
        }else{
            return null;
        }
    }
    //删除方法
    this.remove=function(key){
        if(obj[key]||obj[key]===0||obj[key]===false){
            delete obj[key];
        }
    }
}
    //执行
    alert(m.size())
    alert(m.get('03'))
    m.remove('03')

猜你喜欢

转载自www.cnblogs.com/omery/p/9970906.html