ECMAScript中的object
2016-12-06 22:40
501 查看
Object是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object是所有类的基础类)
两种创建方式(实例化对象):
//设置对象属性
//访问对象和方法
//delete操作符 删除对象的属性或方法
//遍历对象,拿到对象属性的key和value
[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]
[b]******[/b]利用object对象特性,去掉数组重复项[b]****[/b]
js对象特性 : 在js对象中key是永远不会重复的
两种创建方式(实例化对象):
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
相关文章推荐
- MOSS 2010:Visual Studio 2010开发体验(19)——ECMAScript Object Model(四)
- Sharepoint学习笔记—ECMAScript对象模型系列-- 3、如何查看SP object的所有方法(method)
- ECMAScript 引用类型--Object 对象
- MOSS 2010:Visual Studio 2010开发体验(19)——ECMAScript Object Model
- ECMAScript5之Object
- [ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类<Object>的扩展
- ECMAScript5 Object的新属性方法
- Sharepoint学习笔记—ECMAScript对象模型系列-- 3、如何查看SP object的所有方法(method)
- JAVASCRIPT基础学习篇(11)--ECMAScript Basic7(The Browser Object Model)
- ECMAScript——引用数据类型之object
- [ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类<Object>的扩展
- JAVASCRIPT基础学习篇(10)--ECMAScript Basic6(Object Basics)
- [转]SharePoint 2010: Client Object Model for JavaScript (ECMAScript)(使用客户端对象模型)
- SharePoint 2010 - Client Object Model - ECMAScript
- ECMAScript新特性【一】--Object.create
- SharePoint【ECMAScript对象模型系列】-- 03. 如何查看SP object的所有方法(method)
- 总结:Sharepoint2010 Client Object Model -- ECMAScript Client
- 实现ECMAScript 5中的Object.create()函数和Object.getPrototypeOf() 函数
- [ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类<Object>的扩展
- 前端开发者进阶之ECMAScript新特性【一】--Object.create