Javascript 添加两点的最简单方法
我有两点Javascript 添加两点的最简单方法,javascript,Javascript,我有两点a和b: var a = new Point(10, 20); var b = new Point(5, 15); 我想创建第三点c,它是a和b的总和,如下所示: // same as new Point(15,35) c = new Point( a + b ) 为此,我知道必须重写prototypevalueOf()方法。但它需要同时返回x和y值才能像示例中那样执行 关于如何实现我的点类,有什么提示吗 function Point(x, y) { if(x.isObjec
a
和b
:
var a = new Point(10, 20);
var b = new Point(5, 15);
我想创建第三点c
,它是a
和b
的总和,如下所示:
// same as new Point(15,35)
c = new Point( a + b )
为此,我知道必须重写prototypevalueOf()
方法。但它需要同时返回x和y值才能像示例中那样执行
关于如何实现我的点
类,有什么提示吗
function Point(x, y) {
if(x.isObject && y.isObject){
this.x = x.x + y.x;
this.y = x.y + y.y;
} else {
this.x = x;
this.y = y;
}
}
不能使用重载,因此需要检查参数。下面是一个工作片段
函数对象(值){
返回值!==null&&(typeof值==='undefined'?'undefined':typeof(value))==='object';
}
功能点(x,y){
if(等高线(x)和等高线(y)){
这个.x=x.x+y.x;
这个.y=x.y+y.y;
}否则{
这个.x=x;
这个。y=y;
}
}
var a=新点(10,20);
var b=新点(20,10);
var c=新点(a,b);
控制台日志(a);
控制台日志(b);
控制台日志(c)代码>添加两点是什么意思?如果我把伦敦希思罗机场的位置加上芝加哥奥黑尔机场的位置,答案是什么?大西洋某个地方的中点?两点?另一个维度的东西?@Flimzy哈哈好笑!将“点”替换为“坐标”,然后。。。现在有意义了?你想用b的坐标值增加点a的坐标吗?这并不是真正的加分;它在二维中移动一个点。我会考虑让你的API承认这一点。code>AddX()
和AddY()
也许<代码>添加XY(x,y)?从字面上说,如果我要加上两点,我希望结果是一组两点。公平地说,“加上两点”实际上意味着什么与问题无关。是的,这是正确的答案&在下面的答案中得出的结论。