《JavaScript语言精粹》之部件
来源:互联网 发布:js修改url 不跳转 编辑:程序博客网 时间:2024/06/09 20:15
首次读《JavaScript语言精粹》时,对这一部分的内容还不能理解,2个月后自己再静下心来看,才大概弄清楚,由于是自己琢磨出来的,难免有错误。
个人认为,部件可以看成是一个对象的功能模块,故部件的组装可以看作这个对象的功能模块的扩展。而JavaScript中的对象实际上也是属性的集合,故对象功能模块的扩展,实际上也就是给对象添加额外的属性和方法。一般来说,对象的功能模块是在对象的构造过程中添加,耦合度较高。而在这本书中,作者采用一种松耦合的方式来组装部件,即将需要组装部件的对象作为一个传入参数,再在函数内部给传入的对象添加属性。例子:var o = {}, addSayName = function(object) { if (object.name === undefined) { object.name = "jiuong"; } object.sayName = function() { console.log(this.name); } return object; };o = addSayName(o);console.log(o); // {name: "jiuong", sayName: function}o.sayName(); //"jiuong"
可看到,addSayName和o之间几乎没有任何关联,耦合度低,且函数可重复利用,给多个不同对象添加同一个部件。可用于建造者模式。
0 0
- 《JavaScript语言精粹》之部件
- 读书笔记之JavaScript语言精粹
- JavaScript语言精粹笔记之正则表达式
- JavaScript语言精粹之对象篇
- JavaScript语言精粹之函数篇(一)
- JavaScript语言精粹之函数篇(二)
- JavaScript语言精粹之函数篇(三)
- JavaScript语言精粹之继承篇
- JavaScript语言精粹之数组篇
- 《JavaScript语言精粹》读书笔记
- 《JavaScript语言精粹》读书笔记
- JavaScript语言精粹
- 函数 -- Javascript语言精粹
- javascript语言精粹
- javascript语言精粹----笔记
- 《JavaScript语言精粹》--JSLint
- javascript语言精粹-------------------------读书笔记
- JavaScript语言精粹(读书笔记)
- UI高级控件
- HDOJ 1879 继续畅通工程(并查集)
- 测试 Java 类的private和protected变量和方法
- IDEA 快捷键整理
- can't open include file "model.ice"
- 《JavaScript语言精粹》之部件
- Twitter style paging with ASP.NET MVC and jQuery
- Javascript单元测试框架比较Qunit VS Jasmine
- Extjs4.2 Grid Filter Feature 表格过滤特性
- 虚基类、抽象基类和接口
- 使用cppcms开发JSON_RPC服务:高级用法
- [水]ZOJ1539
- java war 打包、解压命令
- Fork/Join个人小结