命名空间的作用主要就是防止同名方法或函数 主要就是多做一块作用于
我们先来看一段代码
namespace padd {
export class dog {
name:String;
constructor(name:String){
this.name = name;
}
signUp(){
console.log(`我的名字叫${this.name}`)
}
}
}
namespace bfsl {
export class dog {
name:String;
constructor(name:String){
this.name = name;
}
signUp(){
console.log(`请叫我${this.name}`)
}
}
}
这里我们定义了两个命名空间 padd 和 bfsl 在他们下面都有一个叫dog的类 而这不会冲突也不会覆盖 因为他们在不同的命名空间中
而现在我们就用命名空间来实例化这两个类 然后调用他们中的signUp方法
var paddDog = new padd.dog("狗狗");
var bfslDog = new bfsl.dog("大黄");
这里可以看到 我们 取出命名空间的方法非常简单 命名空间名.类名
然后我们用实力对象调用其中的方法signUp
paddDog.signUp();
bfslDog.signUp();
运行结果如下
没有任何问题
以下操作都是在同一文件 如果不在同一文件 需要用导入导出 调用方法 仍是 命名空间.类名