JavaScript的namespace命名空间

首先,JavaScript里没有namespace关键字用于声明命名空间。如果在NodeJS有模块的概念,但在浏览器下因为I/O的问题不能require加载模块,只能使用script标签一下加载所有脚本,当然也有一些插件实现了浏览器端require的做法。

为了避免编写大型项目造成混乱,通常都是采用面向对象的方式组织代码结构,将属性,方法放入一个对象中。如以下代码

var dog = {
  name: 'Petty',
  sayName: function () {
    console.log(this.name);
  }
}

dog.sayName();

设置,还有多级组织模式,如

var animals = {
  dog: {
    name: 'Petty',
    sayName: function () {
      console.log(this.name);
    }
  },
  cat: {
    name: 'Tom',
    sayName: function () {
      console.log(this.name);
    }
  }
}

animals.dog.sayName();
animals.cat.sayName();

采用对象的方式组织方法属性,使用单一入口设计模式避免全局变量污染,是绝大多数程序的一种设计模式。

分享

TITLE: JavaScript的namespace命名空间

LINK: https://www.qttc.net/346-javascript-namespace.html

NOTE: 原创内容,转载请注明出自琼台博客