function foo() {
this.name = 'andy' ;
let vvv = 'vvvvvvvvvvv' ;
foo.watermelon = '西瓜' ;
foo.prototype.sex = 'GG' ;
}
foo.banana = '香蕉' ;
foo.prototype.test = 'test' ;
let foo1 = new foo(); // `foo1`;上有哪些属性,这些属性分别挂载在哪个地方 ?
foo.prototype.test = 'test2'; // 重新赋值
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
思考之后再看解释:
function foo() {
this.name = 'andy' //foo对象本身的属性
let vvv = 'vvvvvvvvvvv' //foo对象体的变量而已,跟foo没啥关系
foo.watermelon = '西瓜' //此方式是设置为foo的静态属性,只能通过foo.obkoro1 调用,跟foo的实例没关系
foo.prototype.sex = 'GG' //设置foo原型属性,其挂载在原型对象上即:foo.prototype对象上(foo.prototype是个对象,每个函数都有)
}
foo.banana = '香蕉' //也是声明静态属性,必须按foo.banana 才能调用,用实例是访问不到的
foo.prototype.test = 'test' //设置原型对象属性
let foo1 = new foo() // `foo1`上有哪些属性,这些属性分别挂载在哪个地方 ?
foo.prototype.test = 'test2' // 重新赋值
来源:51CTO
作者:_anick
链接:https://blog.csdn.net/qq_15941409/article/details/101052647