1.实例成员
实例成员是属于实例自己的
(实例名.属性)
(this.属性,这里的this指向的就是实例本身,例如:mi)
function Goods(name, price, count) {
this.name = name
this.price = price
this.count = count
this.sayhi = function () { }
}
const mi = new Goods('小米', 1999, 20)
console.log(mi)
const hw = new Goods('华为', 3999, 59)
console.log(hw)
console.log(mi === hw)
mi.name = 'vivo'
console.log(mi)
console.log(hw)
2.静态成员
说明:
1. 构造函数的属性和方法被称为静态成员
2. 一般公共特征的属性或方法静态成员设置为静态成员
3. 静态成员方法中的this 指向构造函数本身
(类名.属性)
// 静态成员
Goods.num = 10
console.log(Goods.num)
Goods.Type= function () {"手机" }
3.原型成员
原型属性是构造函数和实例都可以访问的
(构造函数名.prototype.属性)
(实例.属性)
构造函数和原型对象中的this 都指向实例化的对象
function Star(uname) {
// that = this
// console.log(this)
this.uname = uname
}
// 原型对象里面的函数this指向的还是 实例对象 ldh
Star.prototype.sing = function () {
that = this
console.log('唱歌')
}
// 实例对象 ldh
// 构造函数里面的 this 就是 实例对象 ldh
const ldh = new Star('刘德华')
ldh.sing()
console.log(that === ldh)
原型详解另一篇博客:
包括:
1.为什么出现原型
2.原型对象和对象原型以及构造函数之间的关系
3.constructor 属性
4.原型链
JavaScript原型详解:原型对象prototype,对象原型__proto__,constructor 属性,原型链-CSDN博客