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')