Javascript的Object探究
来源:互联网 发布:视频检索软件 编辑:程序博客网 时间:2024/04/30 12:24
Object.keys(object)
获取一个对象的所有key
var obj = {a:1, b:2, 'hello':'world'};var keys = Object.keys(obj); //['a','b','hello']
Object.is(value1, value2)
比较两个对象或者值是否是同一个, 和===等价
Object.is(1,1); //trueObject.is(1,'1');//falsevar a = {c:1}, b={c:1}; Object.is(a,b);//falseb=a;Object.is(a,b);//true
Object.seal(obj)与Object.isSealed(obj)
Object.seal密封对象的属性,使对象增加或者删除属性无效,但是可以修改属性值。不过这个方法不能密封对象的子对象。
Object.isSealed判断一个对象是否被密封
var obj = {a:1,b:2,c:{d:3}};Object.seal(obj);//obj={a:1,b:2,c:{d:3}};obj.d = 4; //obj={a:1,b:2,c:{d:3}};obj.a = 5; //obj={a:5,b:2,c:{d:3}};Object.isSealed(obj); //trueObject.isSealed({a:1});//falseobj.c.e=10;//obj={a:5,b:2,c:{d:3,e:10}};
Object.freeze(obj)
冻结对象,使对象的属性值不能修改,也不能给对象增删属性。和Object.seal()一样,这个方法不能冻结对象的子对象。
Object.defineProperty(object, keyname, config)
定义对象的属性
config.enumerable 属性是否可以枚举。如果config.enumerable为false, 则Object.keys(object)取不到该key,for(var prop in object){}也取不到该key。
config.configurable 属性是否可以删除。如果config.configurable为false,则无法删除该属性。
config.writable 该属性的值是否可以改变。如果config.writable为false, 则改变该属性的值无效。
var obj = {};var arr = [ [true, true, true], [true, true, false], [true, false, true], [true, false, false], [false, true, true], [false, true, false], [false, false, true], [false, false, false]];arr.map(function(item, index) { Object.defineProperty(obj, 'k'+index, { value: index + 1, enumerable: item[0],//不能用Object.keys()或者for(var .. in ..)获得key名称 configurable: item[1],//key不能被删除 writable: item[2]//不能修改值 });});console.log(obj);//{k0:1,k1:2,k2:3,k3:4,k4:5,k5:6,k6:7,k7:8}console.log(Object.keys(obj));//["k0", "k1", "k2", "k3"][0,1,2,3,4,5,6,7].map(function(i){ var k = 'k'+i; obj[k] += 1000;});console.log(obj);//{k0:1001,k1:2,k2:1003,k3:4,k4:1005,k5:6,k6:1007,k7:8}[0,1,2,3,4,5,6,7].map(function(i){ var k = 'k'+i; delete obj[k];});console.log(obj);//{k2: 1003, k3: 4, k6: 1007, k7: 8}
0 0
- Javascript的Object探究
- Javascript的循环优化探究
- javascript的toString深入探究
- JavaScript Object的key
- javascript 的对象(Object)
- javascript的Object对象
- javascript的Object类型
- JavaScript的Object 类型
- 根类Object探究...
- Javascript不可用的问题探究
- javascript不可用的问题探究
- javascript不可用的问题探究
- javascript object的classid收集
- javascript Object.extend的用法
- javascript Object.extend的用法
- javascript Object.extend的用法
- javascript Object.extend的用法
- javascript Object.extend的用法
- HDU 3400 Line belt(嵌套三分)
- DiskLruCache使用指南
- 手机站网站建设完接下来就要解决文章的收录问题
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- 各种排序算法的比较
- Javascript的Object探究
- (4.1.27.9)创建简单的JniDemo和Jni中打印log信息
- (转)Mahout使用入门
- fatal error: invalid virtual filesystem overlay file '/[Path]/all-product-headers.yaml
- 一个示例让你明白适配器模式
- web前端开发命名规则
- LeetCode:Combinations
- WebView的分析与使用
- 汉字转全拼