构造函数
概念
- 每一个对象都有与之对应的构造函数
- 一个构造函数可以对应好多个对象
- 构造是对一类对象的描述
- JS的构造函数对应的是其他面向对象编程语言的 类
检测 对象和构造函数
- instanceof 运算符(检测对象和构造函数)
("123" instanceof String)
判断字符创"123"是否为字符串函数
- .constructor 属性 所有的对象都有,通过这个属性可以得到该属性的构造函数是谁
自定义构造函数
function person(){};
var p = new person();
person(); //可以直接调用
- 建议在写法上做一下区分,普通函数首字母小写,构造函数首字母大写
this
定义
- this表示一个对象,相当于第一人称我,放在不同的地方是不同的意思,方法属于哪个this就表示谁
- 如果对象属性上添加一个属性,仅仅只在该对象上有
- 如果在构造函数对象上添加一个属性,所有该构造函数的实例都会有影响
- this在构造函数中 表示 构造函数将来的实例(对象)
- 给构造函数添加属性要用this
原型
原型 (prototype)
- 每一个对象都有原型
- 原型还是个对象
- 对象可以从原型上去继承属性和方法’
- 对象的构造函数相同原型也相同
得到某个对象的原型
- 对象属性 .proto
- 该对象的构造函数 .prototype (推荐)
原型的作用
- 给构造函数内的方法 可以添加到其原型上
- 利用原型给已经存在的对象类型添加方法或属性
原型链
网友评论