单例模式
- 单例模式:其实就是一个对象,解决命名冲突的问题,模块化方便代码管理,常用
- 命名空间 - > nameSpace
- ps:单例模式下每个属性和属性之间的调用使用this就可以,比如:12345678var obj = { //obj即为命名空间fn:function(){},fn1:function(){this.fn(); // 直接用this.就可以调用obj内的其它函数}}
构造函数(类)
- 内置类
实例:具体到这个类中的某一个。每一个实例都是一个对象
12var ary = new Date;console.log(typeof ary); --> "Object"- 每一个数组都是Array这个类的一个实例
- 每一哥函数都是Function这个类的一个实例
- instanceof 专门判断一个实例是否属于一个类的操作符,返回一个boolean值
- 任何一个引用数据类型都是Object这个类的实例
如何定义一个类:
- 类名尽量使用首字母大写;
- 构造函数总的this就是当前实例 -> 如果想在实例刚添加私有属性 this.propertyName
- 构造函数会默认返回实例,如果return一个引用数据类型会将构造函数的默认返回值破坏掉;123456function Tab(value){//1.普通函数 2.构造函数(类) 3.Function这个类的一个实例var a = 100; //这个私有变量不会对实例产生任何影响this.key = value; //给实例创建一条属性}Tab(); //将Tab当成普通函数执行var tab1 = new Tab() //将Tab当成类来使用
new运算符做了哪些事情的简单分析