<script>
function Determinant(A)
{
var n = A.length, subA = [], detA = 0;
if (n==1) return A[0][0];
if (n==2) return (A[0][0]*A[1][1]-A[0][1]*A[1][0]);
if (n==3)
{ return ((A[0][0]*A[1][1]*A[2][2]+A[0][1]*A[1][2]*A[2][0]+A[0][2]*A[1][0]*A[2][1])
-(A[0][0]*A[1][2]*A[2][1]+A[0][1]*A[1][0]*A[2][2]+A[0][2]*A[1][1]*A[2][0]));
}
for (var i=0; i<n; i++)
{ for (var h=0; h<n-1; h++) subA[h]=[];
for (var a=1; a<n; a++)
{ for (var b=0; b<n; b++)
{ if (b<i) subA[a-1][ b ] = A[ a ][ b ];
else if (b>i) subA[a-1][b-1] = A[ a ][ b ];
}
}
var sign = (i%2==0) ? 1 : -1;
detA += sign * A[0][i] * Determinant(subA);
}
return detA;
}
Determinant(тут ваша матрица);
</script>