我在.create()
上的MDN article复制了大部分代码,稍作修改:
// superclass
function Shape() {
this.x = 0;
this.y = 0;
};
// superclass method
Shape.prototype.move = function( x, y ) {
this.x += x;
this.y += y;
console.info('Shape moved.');
};
// subclass
function Rectangle() {
Shape.call(this); // call super constructor passing the current object
}
Rectangle.prototype = Object.create( Shape.prototype );
var rect = new Rectangle();
console.log( rect.move( 1, 1 ) );
输出:
Shape moved
undefined
为什么还要undefined
?
答案 0 :(得分:1)
在JavaScript中,如果未指定返回值,则函数始终返回undefined。移动功能不会返回任何内容。因此,记录其输出日志未定义。