//跨考意味着重新开始 坚持下来就是胜利
Java部分
属性(field成员变量):属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。
方法:用于定义该类或者该类实例的行为特征和功能实现。
构造方法(方法名和类名保持一致)
Javascript部分
this的用法
1.html事件中:指向windows对象
2.dom0事件中:指向函数的调用者
3.dom2事件中:非ie下,指向函数的调用者 ie下,指向window对象
4.间隔调用和延迟调用:指向window对象
5.call/apply 第一个参数是谁,this就指向谁
6.闭包 指向window对象
7.自执行函数 指向window对象
构造函数
可以通过new命令,生成对象的函数称为构造函数。构造函数一般首字母大写
描述:js中通过构造函数的帮助指定类,通过(new命令调用构造函数)创造类中的对象
js中类的创建语法:
function类名(对象属性值1,对象属性值2,...){ this.属性1=对象属性值1; this.属性2=对象属性值2; ..... } var对象=new类名(value1,value2....)
封装
描述:封装是指构造具有某种特征的类,以通过对其进行实例化,来获得满足需求的对象的过程。
特征:
公有:对象中的属性和方法,在对象外部能够直接访问,这样的属性和方法就称为公有的属性和方法
私有:对象中属性和方法,仅在对象内部使用,这样的属性和方法就称为私有的属性和方法
实现:
通过在构造函数中,(this.属性)的方式为类添加公有的属性和方法
this.属性所添加的内容在对象的外部能够直接被访问
通过在构造函数中,(添加局部变量和闭包)的方式为类添加私有的属性和方法
特权函数:在js对象中能够用来访问内部局部变量的函数 使用特权函数来模拟私有的赋值调用过程
prototype原型:为了解决js模拟面向对象时,一些(共同拥有的属性值)而出现的方法
原型
描述:是js为函数提供的一个对象类型的属性
说明:想原型中添加的属性和方法,能够被共同拥有
原型属性
1.构造器constructor:该属性指向了这个类本身
2.原型指向_proto_:该属性指向原型本身,提供给通过类创建的对象使用
原型链的作用:访问对象的属性或方法的时候,首先在本身中查找是否拥有这个属性或方法。如果没有找到那就沿着原型链向上逐级查找直到object位置,在任何一级寻找到这个属性或者方法都视为对象拥有这个属性或者方法。
构建:设置子类的prototype属性是父类的实例,即可构成原型链。
继承:利用原型链模拟继承
原型链继承:弊端是子类实例化时不能向父类构造函数传参,但是可以直接访问符类的原型属性
构造继承:弊端是只能访问到父类实例属性,实例化时可以像父类的构造函数传参,但是不能访问父类的原型属性。