我有這個函數應該返回從點p到段線v-w的距離。 我遇到的問題是一段時間後我收到以下錯誤: 未捕獲TypeError:對象[對象對象]的屬性'dist2'不是函數。我在jquery中直接接收它,甚至沒有調用函數dist2()。是否有任何其他dist2()在jQuery中的任何地方?我找不到任何其他dist2()。Uncaught TypeError:object [object Object]的屬性'dist2'不是函數
代碼:
function sqr(x) {
return x * x;
}
function dist2(v, w) {
console.log(v);
console.log(w);
return sqr(v.x - w.x) + sqr(v.y - w.y);
}
function distToSegmentSquared(p, v, w) {
var l2 = dist2(v, w);
if (l2 == 0)
return dist2(p, v);
var t = ((p.x - v.x) * (w.x - v.x) + (p.y - v.y) * (w.y - v.y))/l2;
if (t < 0)
return dist2(p, v);
if (t > 1)
return dist2(p, w);
return dist2(p, {x: v.x + t * (w.x - v.x),
y: v.y + t * (w.y - v.y)});
}
function distToSegment(p, v, w) {
return Math.sqrt(distToSegmentSquared(p, v, w));
}
所給出該錯誤的值是:
p: Object
x: 461
y: 333
v: Object
x: 80
y: 120
w: Object
x: 260
y: 120
究竟是什麼情況,您是否跟蹤了callstack? – elclanrs
var l2 = dist2(v,w); 這裏死了 –
你可以在jsfiddle上重現這個嗎?這個錯誤在你的代碼中似乎沒有意義,你不會在任何對象上調用'dist2',據我所知。 – elclanrs