js类的三个部分
- 构造函数内的
- 构造函数外的
- 类的原型的
let Book=function (name,num){
this.name=name;
this.num=num;
}
Book.prototype.age=12;
let book = new Book('js学习','12本');
Book.author='zhangsan'
// author 是在Book上的属性 故实例化获取不到其属性
console.log(Book.author) // zhangsan
console.log(book.author) // undefined
// age是Book原型上的属性 则访问Book是没有其属性的 实例上是有的 (只有对象才有链式prototupe 调用 查不到继续查自己的__proto__)
console.log(Book.age) // undefined
console.log(book.age) // 12
// Book 是function 其name(如果没有通过Book.name设置的话)为函数名字 而book是其实例化后构建的属性
console.log(Book.name) // Book
console.log(book.name) // js学习