JavaScript权威指南读书笔记——第六章 对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

JavaScript 权威指南读书笔记——第六章对象

2017/08/13 0 创建对象对象直接量

var o = { a : “value1”, b : 1, ...};重点内容通过new 创建对象

var a = new Array();Object.create() 这是一个静态函数,而不是提供给某个对象调用的方法。使用它的方法很简单,只须传入所需的原型对象即可

// o1 继承了属性x 和yvar o1 = Object.create({x:1,y:2});// o2 不继承任何属性和方法var o2 = Object.create(null);// o3 和new Object()一样var o3 = Object.create(Object.prototype);通过原型继承和创建一个新对象

function inherit(p){ if(p == null) throw TypeError(); if(Object.create) return Object.create(p); var t = typeof p; if(t !== “object” t !== “function”) throw TypeError(); function f(){} f.prototype = p; return new f();}属性的查询和设置属性的访问

// 使用’.’访问对象属性var bookName = ;// 使用方括号访问对象属性var bookPrice = book[“price”];属性的设置

// 属性设置就算没有这个属性,设置后就会添加该属性 = “JavaScript”;book[“price”] = 100;属性访问错误

// 返回的是undefined,因为book 没有subtitle 属性var subtitle = book.subtitle;// 失败,在严格模式中出错var len = book.subtitle.length;删除属性delete 运算符只能删除属性的自有属性,不能删除继承属性

// deletedelete book.price;delete 不能删除可配置性为false 的属性

检测属性in 运算符判断对象中是否存在属性或方法

var o = {x:1};”x”in o; //true”y”in o; //false”toString”in o; //true 对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性。对于继承属性它

将返回false。

var o = {x:1};o.hasOwnProperty(“x”);//true,o 中有x 属性o.hasOwnProperty(“y”); //false,o 中没有y 属性o.hasOwnProperty(“toString”);//false,toString 是继承属性对象的propertyIsEnumerable()只检测自有属性且这个属性的可枚举性为true 时才返回

相关文档
最新文档