您的位置:首页 > 移动开发 > Objective-C

ECMAScript中的object

2016-12-06 22:40 501 查看
Object是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object是所有类的基础类)

两种创建方式(实例化对象):

var obj = new Object();
var obj = {};   //常用


//设置对象属性

obj.name = "张三";
obj.age = 20;
obj.sex="男";
obj['bri'] = "1900-01-09";
obj.say = function(){
alert("helloworld");
}


//访问对象和方法

alert(obj.name);
alert(obj.age);
obj.say();


//delete操作符 删除对象的属性或方法

delete obj.age;
delete obj.say;
alert(obj.age);
obj.say();


//遍历对象,拿到对象属性的key和value

for(var attr in obj){
alert(attr+" : "+obj[attr]);  //对象属性:属性值
}


[b]**************object常用方法************[/b]

//Constructor 保存着用于创建当前对象的函数 (构造函数)

alert(obj.constructor);

var arr=[];

alert(arr.constructor);

//hasOwnProperty(propertyName)用于检测给定属性在对象中是否存在

alert(obj.hasOwnProperty(“name”));

isPrototypeOf(Object)检测原型

propertyIsEnumerable(propertyName)用于检测给定属性是否能用for-in枚举

alert(obj.propertyIsEnumerable(“name”));

[b]***********object模拟java中的Map*********[/b]

function Map(){
var obj = {};
//put方法
this.put = function(key,value){
obj[key]= value;
}
//获取Map的size值
this.size = function(){
var 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;
}
}
//remove通过key删除元素
this.remove = function(key){
if( obj[key] ||  obj[key]===0 || obj[key]===false){
delete obj[key];
}
}
//遍历每个元素
this.eachMap = function(fn){
for(var attr in obj){
fn(attr,obj[attr]);
}
}
}
//使用示例
var m = new Map();
m.put("01","abc");
m.put("02",0);
m.put("03",true);
m.put("04",new Date());         //put方法
alert(m.size());    //获取m的size
alert(m.get("02"));    //根据key获取value
//m.remove("03");      //根据key删除元素
alert(m.get("03"));
m.eachMap(function(key,value){   //遍历元素
alert(key+" : "+value);
})


[b]******[/b]利用object对象特性,去掉数组重复项[b]****[/b]

js对象特性 : 在js对象中key是永远不会重复的

var arr = [2,1,2,10,2,3,5,5,1,10,13];
//1、把数组转成一个js对象,把数组中的值变成js对象中的key
//2、把对象还原成数组
function toObj(arr){
var obj = {};
for(var ele in arr){
obj[arr[ele]]="";
}
return obj;
}

function objToArr(obj){
var arr = [];
for(var attr in obj){
if(obj.hasOwnProperty(attr)){
arr.push(attr);
}
}
return arr;
}

var reAttr = objToArr(toObj(arr));
alert(reAttr);     //1,2,3,5,10,13
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: