Antworten:
Es gibt einen Potenzierungsoperator , der Teil der endgültigen ES7-Spezifikation ist. Es soll auf ähnliche Weise mit Python und Matlab funktionieren:
a**b // will rise a to the power b
Jetzt ist es bereits in Edge14, Chrome52 implementiert und auch mit Traceur oder Babel erhältlich.
js> Math.pow(12, 2)
144
Math
ich die Methoden durchgesehen habe , habe ich gesehen exp
, und als das nicht funktioniert hat, habe ich einfach aufgegeben. xD Hätte etwas weiter gehen sollen. Naja. Vielen Dank.
Math.pow(x, y)
funktioniert gut für x ^ y und wertet den Ausdruck sogar aus, wenn y keine ganze Zahl ist. Ein Code, auf den man sich nicht verlässt Math.pow
, der aber nur ganzzahlige Exponenten auswerten kann, ist:
function exp(base, exponent) {
exponent = Math.round(exponent);
if (exponent == 0) {
return 1;
}
if (exponent < 0) {
return 1 / exp(base, -exponent);
}
if (exponent > 0) {
return base * exp(base, exponent - 1)
}
}
So führen wir Exponenten in JavaScript
gemäß MDN durch
Der Exponentiationsoperator gibt das Ergebnis der Erhöhung des ersten Operanden auf den zweiten Potenzoperanden zurück. Das heißt, var1 var2 in der vorhergehenden Anweisung, wobei var1 und var2 Variablen sind. Der Potenzierungsoperator ist richtig assoziativ: a ** b ** c ist gleich a ** (b ** c).
Zum Beispiel:
2**3
// hier wird 2 3 mal mit 2 multipliziert und das Ergebnis ist 8.
4**4
// hier wird 4 4 mal mit 4 multipliziert und das Ergebnis ist 256.