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. 

前端-语言
原文地址:https://www.cnblogs.com/beesky520/p/4908340.html