首页 > 代码库 > Javascript对象的技巧和陷阱
Javascript对象的技巧和陷阱
创建对象的3种方法
方法1
直接创建
var obj = { name: "mike", age: 10 }
方法2
用new创建
var ob = new Date();
方法3
ECMAScript5有个新的方法 Object.create()
其实这个方法就是继承某一个对象
var obj = { name: "mike", age: 10 }; var newobj = Object.create(obj); console.log(newobj.name);
一些技巧和陷阱
1
var a = { name: "mike", name: "john" } console.log(a["name"]);不小心的把属性名写成一样 结果是john也就是说当遇到属性名一样的情况下. 按照最后一个出现的算, 注意当开始use strict的时候会报错
2
var a = {}; a.x = 1; var p = Object.create(a); p.y = 2; console.log(p.x);当你访问对象的属性没有时候,他会沿着原型链继续向上找,
3
var a = {}; a.x = 1; var p = Object.create(a); p.y = 2; console.log("x" in p); //true
一个对象里有没有这个属性 这个属性如果是继承来的也算是有
4
var a = {}; a.x = 1; var p = Object.create(a); p.y = 2; console.log("x" in p); //true console.log(p.hasOwnProperty("x")); //false检查自有属性
5
var a = { x:1, get getx() {return this.x;}, set setx(arg) { return this.x = arg; } } console.log(a.x); a.x = 100; console.log(a.x);
属性可以设置只读只写, 读/s写
6
var a = { x:1, get getx() {return this.x;}, set setx(arg) { return this.x = arg; } } Object.freeze(a); a.x = 100; console.log(a.x); //1
冻结一个对象 用来保证对象的封闭性不被破坏
Javascript对象的技巧和陷阱
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。