首页 > 代码库 > javascript权威指南笔记(第6章 对象)
javascript权威指南笔记(第6章 对象)
1、对象概述
1、对象常见的用法:
create 、set 、Query 、delete 、test、enumerate
2、对象的属性特性:
可写、可枚举、可配置
3、每个对象的对象特性:
原型、对象的类、对象的可扩展性
4、对象和属性分类:
内置对象、宿主对象、自定义对象、自由属性、继承属性
2、创建对象
1、对象直接量
2、通过new创建对象
3、原型
4、Object.create()
第一个参数:这个对象的原型
第二个参数:可选、对对象的属性进行进一步描述
var o1 = Object.create({x:1, y:2}); // o1 inherits properties x and y.var o2 = Object.create(null); // o2 inherits no props or methods.var o3 = Object.create(Object.prototype); // o3 is like {} or new Object().
通用的inherit()函数,兼容版本(但是并不能完全替代create如不能接受第二参数)
function inherit(p) { if (p == null) throw TypeError(); // p must be a non-null object if (Object.create) // If Object.create() is defined... return Object.create(p); // then just use it. var t = typeof p; // Otherwise do some more type checking if (t !== "object" && t !== "function") throw TypeError(); function f() {}; // Define a dummy constructor function. f.prototype = p; // Set its prototype property to p. return new f(); // Use f() to create an "heir" of p.}
3、属性的查询和设置
1、作为关联数组的对象
javascript对象都是关联数组,点访问和括号访问的差异
2、继承
3、属性访问错误
var len = book && book.subtitle && book.subtitle.length;
这段代码的作用:避免属性访问错误的方法
下面的情形给对象o设置属性p会失败:
1、o中的属性p是只读的
2、o的属性p时继承的,且是只读的:不能通过自有属性覆盖只读属性的继承属性
3、
javascript权威指南笔记(第6章 对象)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。