JavaScript继承示例返回undefined

时间:2015-06-18 00:43:14

标签: javascript inheritance

我在.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

1 个答案:

答案 0 :(得分:1)

在JavaScript中,如果未指定返回值,则函数始终返回undefined。移动功能不会返回任何内容。因此,记录其输出日志未定义。