js命名空间
通过把模块定义在某个函数的内部来实现,定义的变量和函数都属于该函数的局部变量,在函数外不可见。实际上,可以将这个函数作用域用做模块的命名空间(模块函数)
一旦将模块代码封装进一个函数中,就需要一些方法导出公用API,以便在模块函数外部调用它们。下面有几种方式导出公用API:
首先创建一个命名空间
var student;
if(!student)student = {};
//类的属性
student.name = "张三";
student.age = "30";
student.sex = "男";
//构建类
student.ClassStudent = function(argName,argAge,argSex){
this.name = argName;
this.age = argAge;
this.sex = argSex;
}
//构建类的方法
student.ClassStudent.prototype = {
getName:function(){
alert(this.name);
} ,
setName:function(argName){
this.name = argName;
}
}
//使用方法
var obj = new student.ClassStudent("李四",23,"男");
obj.getName();
obj.setName("王五");
obj.getName();