javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧

javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧

ID:30777677

大小:72.50 KB

页数:8页

时间:2019-01-03

javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧_第1页
javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧_第2页
javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧_第3页
javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧_第4页
javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧_第5页
资源描述:

《javascript高级程序设计(第三版)学习笔记6、7章_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaScript高级程序设计(第三版)学习笔记6、7章第6章,面向对象的程序设计对象:1、数据属性configurable,表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为trueenumerbale,表示能否通过for-in访问属性,默认true/writable,表示能否修改屈性值,默认true„value,数据存储位置,默认undefined修改默认属性特性:Object,defineProperty(),接收三个参数:属性所在对彖,属性名,描述符对象,描述符对象

2、属性必须是:configurable、enumerable>writable、value例:varobj二{};Object,defineProperty(obj,”namen,{writable:true,value:nihao”});2、访问器属性configurable,表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为truecnumerbalc,表示能否通过for-in访问属性,默认trueget,读取屈性时调用,默认undefined,,set,写入属性时调用,默

3、认undefined修改必须通过Object,defineProperty()例:varobj={_year:2004,edition:1}Object,defineProperty(book,”year,{get:functionO{returnthis._year;},set:function(ncwValuc){if(newValue>2004){this._year二newValue;this.edition+二newValue-2004;}}});book,year二2005;alert(book,edition);//

4、2定义多个屈性:Object,defincPropcrtics(),接收两个对象,一是要修改和添加屈性的兑现,第二个对象屈性与第一个对象耍修改或添加的厲性对应,支持的浏览器:1E9+,FireFox4+,Safari5+,0peral2+,chrome读取属性:Object.getOwnPropertyDescriptor(),接收两个参数,属性所在对象,要读取描述符的属性名称,支持的浏览器:IE9+,FireFox4+,Safari5+,0peral2+,chrome创建对象:工厂模式:functioncreatePerson(

5、name,age){varo二newObject();o.namc二namc;o.age=age;o.sayName=functionO{alert(this.name);};returno;varpersonl=createPerson(“g”,29);构造函数模式:fundionPerson(name,age){this.name=name;this・age=age;this・sayName()=function(){alert(this.name);};}varperson=newPerson(“g”,28);两种模式区别:

6、构造函数模式屮不需要显示创建对象,对this直接赋值,没冇返回语句构造函数名首字母必须大写,必须使用new操作符创建新实例原型模式创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含可以由特定类型的所有实例共享的屈性和方法,换句话就是,prototype就是通过函数创建的对彖的原型对彖,好处在于可以是所有实例共享相同的属性和方法。isPrototypeOfO,个人理解就是可以用以判断某个实例的原型是否与当前原型相同例:Person.prototype・isPrototypeO

7、f(personl);//trueObject.getPrototypeOf(),可以返冋某个实例的原型,支持的浏览器IE9+,Firefox3.5+,Safari5+,0peral2+,chromea:访问对象属性名时会进行一次搜索,先在实例对象搜索,不存在则到当前对象的原型对象去搜索。注:实例中的屈性若与原型对彖中的屈性一样,则会屏蔽原型对彖的屈性,与上一条刚好可以对的上hasOwnProperty()方法可以确定某个属性是否来自实例,不是来自实例,则返回false,否则返冋true在实例上调用delete时,只会删除实例上的

8、屈性名,并不会删除原型的屈性例:functionPerson(){}Person・prototypc.name="Nicholas";Person・prototype,age=29;Person,prototype.sayName二function

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。