使用功能构造函数(如 JavaScript:The Good Parts - Crockford中所述)我试图覆盖toString。这是一个例子:
var point = function(x, y) {
var x = x || 0;
var y = y || 0;
var that = {};
that.getx = function() {
return x;
};
that.toString = function() {
return '(' + x + ', ' + y + ')';
};
return that;
}
所以给出:
var point1 = point(1,1);
console.log(point1);
我想在控制台上看到(1,1)。相反,我得到了点构造函数的列表。
console.log(point1.toString());
有效,但不是我想要的。有什么建议吗?