谁给解释这段代码 谢谢
window.RightTriangle = function(o) {var a = {
a: null,
b: null,
c: null,
A: null,
B: null,
C: 90
};
return o.a ? (a.a = o.a, o.b || o.c ? (o.b ? (a.b = o.b, a.c = Math.sqrt(Math.pow(a.a, 2) + Math.pow(a.b, 2))) : (a.c = o.c, a.b = Math.sqrt(Math.pow(a.c, 2) - Math.pow(a.a, 2))), a.B = t(Math.acos(a.a / a.c)), a.A = 90 - a.B) : (o.A || o.B) && (a = n(a, o.A, o.B), a.b = a.a * Math.tan(e(a.B)), a.c = a.a / Math.cos(e(a.B)))) : o.b ? (a.b = o.b, o.c ? (a.c = o.c, a.a = Math.sqrt(Math.pow(a.c, 2) - Math.pow(a.b, 2)), a.B = t(Math.acos(a.a / a.c)), a.A = 90 - a.B) : (o.A || o.B) && (a = n(a, o.A, o.B), a.a = a.b * Math.tan(e(a.A)), a.c = a.b / Math.cos(e(a.A)))) : o.c && (a.c = o.c, (o.A || o.B) && (a = n(a, o.A, o.B), a.a = a.c * Math.sin(e(a.A)), a.b = a.c * Math.cos(e(a.A)))),
a
}