201510250817_《Javascript权威指南(第六版)——属性描述符、模块、命名空间对象、私有空间命名的函数》(P244-252)
一. js中共6个属性描述符
1. value
2. writable
3. configurable //定义是否可以删除
4. enumerable //是否可以迭代(遍历打印)
5. get
6. set
---------------------------------------------------------------------------------------------------
定义get和set时需定义在一个匿名方法里面,如:
function Cat(){};
(function(){
var _someName = "Bruce.Yin";
Object.prototype.defineProperty(Cat.prototype ,"someName ",{
get: function(){return this._someNam;},
set: function(){return _someName = value;}
});
})();
var c = new Cat();
---------------------------------------------------------------------------------------------------
二. 模块
1. 命名空间的做法是:定义一个全局对象。
例如:
var globalNameSpace = {};
调用时需加命名空间,var s = globalNameSpace .someKlass.extand(...); 但为简单书写,可以将常用的值引入全局命名空间中法,如:
var myModule = globalNameSpace .attr1;
那么可以:
var m = new myModule ();
2.命名空间命名,推荐用倒域名
比如:var Sets = com.fanbull.globalNameSpace .Sets;
3. 公有属性暴露出来,往往是模块中的构造函数,在模块中return出来/
4.
前端-语言