01. JS没有类的概念,构造类型就是类
01. JS没有类的概念,构造类型就是类
01. 构造函数:就是类 ;
02. new出来的实例化对象: 对象
类就是对象的抽象
对象就是类的具体
02. 面向对象的三大特征: 封装,继承,多态
02. 面向对象的三大特征: 封装,继承,多态
01. 封装: 可以把部分属性与方法封装,不提供其他对象调用
02. 继承: 把原有对象(父类)的属性和方法复制(copy)给新的对象
[新的对象(子类):可以具有另外的属性和方法]
03. 多态: 基于继承的,"父类"可以指向不同的子类,
父类调用一个函数时,还可以让不同的子类执行不同的效果
04. 构造函数不需要return
工厂模式需要return
03. 构造函数:
03. 构造函数:
01. 函数名:首字母大写
02. this.属性 / 方法
03. 使用new关键字创建:实例化对象
04. 不需要return
05. this指向创建对象
04. 闭包: 函数嵌套函数,内部函数会调用外部函数的变量
04. 闭包: 函数嵌套函数,内部函数会调用外部函数的变量
变量或者参数,不会被系统回收(不会释放内存)
全局变量:全局访问 任何函数都能对其修改
局部变量:局部访问 函数内部访问 函数调用完就被释放了
闭包:介于全局和局部变量中间 既不会被释放又只能在函数内部被访问
闭包与全局、局部变量比较
01. 可以保证外部函数局部变量不被释放。
02. 此变量,参数不可被外部调用
05. 垃圾回收机制
05. 垃圾回收机制
01. 标记清除
普通变量 整形 布尔...给元素标记yes当其执行完毕后变成no,
系统每个一定的事件间隔,回收所有标记为no的变量
02. 引用计数法
给每一个对象添加一个引用计数count
对象调用 count--;
再次调用 count++;
当count为0,系统自动回收