function fn() {} console.dir(fn.prototype)
一般情况下,函数正常调用时的我们用不到这个属性(用不到不代表不存在) 某些情况下,这个却能用到
买房时: 销售小吴:我们先看一下房子的户型图,我们这里所有的房子都是带花园的。看这是房子,出门就是一个花园。要不现在就带您去花园看看? 我:(心里暗喜,价格虽然不便宜,如果带私家花园也算值了)好,看看
交付后: 我:出门到自家花园溜溜。地儿挺大,但看起来光秃秃的,先种颗树~ 隔壁老王:(杀猪叫)谁在我家花园栽树了!! 我:(??)这TM是公共花园?? 销售小吴:这多好啊,一家种树,一起乘凉~
function House() {} let myHouse = new House() let wangHouse = new House() //myHouse.__proto.__ 等价于 House.prototype myHouse.__proto.__.tree = true console.log(myHouse.tree) console.log(wangHouse.tree)
new 函数
创建对象时,对象都拥有.proto属性,都指向该函数 的.prototype 以下三者等价
对于如下代码,dog.toString是哪里来的?
function Dog() { this.color = color } let dog = new Dog('yellow') console.log( dog.toString() )