//1. 错误原因:f.sum===Fn.prototype.sum出弄错了,function Fn(num) { this.x = this.y = num;}Fn.prototype = { x: 20, sum: function () { console.log(this.x + this.y); }};let f = new Fn(10);console.log(f.sum === Fn.prototype.sum);//falsef.sum();//20Fn.prototype.sum();//-->20+undefined-->NaNconsole.log(f.constructor); //2.function Fn() { this.x = 100; this.y = 200; this.getX = function () { console.log(this.x); }}Fn.prototype.getX = function () { console.log(this.x);};Fn.prototype.getY = function () { console.log(this.y);};let f1 = new Fn;let f2 = new Fn;console.log(f1.getX === f2.getX);console.log(f1.getY === f2.getY);console.log(f1.__proto__.getY === Fn.prototype.getY);console.log(f1.__proto__.getX === f2.getX);console.log(f1.getX === Fn.prototype.getX);console.log(f1.constructor);console.log(Fn.prototype.__proto__.constructor);f1.getX();f1.__proto__.getX();f2.getY();Fn.prototype.getY();