日期:2014-05-16  浏览次数:20356 次

用Javascript实现静态对象、静态方法和静态属性

Javascript语言的面向对象特征很弱,其他面向对象语言在创建类时只要使用关键字static即可指定类为静态类,Javascript没有提供static这样的关键字,要让Javascript也具有“静态”特性只有靠一些“奇技淫巧”了。

代码中列举了两种静态方法/属性的实现方式,一种是静态类的静态方法和属性,另一种是非静态类的静态方法和属性,代码说明都写在每行的代码注释里,这里就不重复了。

PLAIN TEXT
JAVASCRIPT:

?

  1. /****************************************
  2. * 方法一
  3. * 类、方法、属性都为静态类型
  4. * 不能创建实例
  5. *****************************************/
  6. var Time = {
  7. ? ? today: ‘2009-3-8′,
  8. ? ? weather: ‘rain’,
  9. ? ? show: function() {
  10. ? ? ? ? alert(‘Today is ‘ + this.today);
  11. ? ? }
  12. };
  13. ?
  14. //静态对象可直接使用,无需创建实例
  15. alert(‘It is ‘ + Time.weather + ‘ today.’);
  16. Time.show();
  17. ?