第一种和第二种,为什么只有一方式可以输出?
let Common = {
show() {
//一
console.log("common.name" + this.name);
//二
// return "common.name" + this.name;
},
};
let hd = {
__proto__: Common,
name: "hd.name",
show() {
super.show();
},
};
let admin = {
__proto__: hd,
name: "admin.name",
show() {
super.show();
},
};
//一
admin.show();
//二
// console.log(admin.show());
let Common = {
show() {
//一
//console.log("common.name" + this.name);
//二
return "common.name" + this.name;
},
};
let hd = {
__proto__: Common,
name: "hd.name",
show() {
return super.show(); //用return 把获取到的值返回给上一层。
},
};
let admin = {
__proto__: hd,
name: "admin.name",
show() {
return super.show(); //用return 把获取到的值返回给上一层。
},
};
//一
//admin.show();
//二
console.log(admin.show());
return才是输出值,console.log只不过是在控制台打印而已