Ragazzi posto un source code di una calcolatrice completamente in javascript, non so se vi serve ma l'ho trovata molto carina e poi si può personalizzare

Codice:
<head>
   <title>Calcolatrice base - scientifica</title>
    <script type="text/javascript" language="javascript">

        var iabile;

        function visibilità(valore) {
            if (valore == "st")
                document.getElementById('scientific').style.display = 'none';
            else
                document.getElementById('scientific').style.display = '';
        }
        function scrivi(valore) {
            disp = document.getElementById("display");
            disp.value += valore;
        }
        function calcola() {
            disp = document.getElementById("display");
            disp.value = eval(disp.value);
        }
        function cancella() {
            disp = document.getElementById("display");
            disp.value = "";
        }
        function cScientifica(tipoCalcolo) {
            disp = document.getElementById("display");
            numero = disp.value;
            switch (tipoCalcolo) {

                case "pow2": disp.value = Math.pow(numero, 2); break;
                case "pow3": disp.value = Math.pow(numero, 3); break;
                case "ln": disp.value = Math.log(numero); break;
                case "log": disp.value = Math.log(numero)/Math.log(10); break;
                case "fatt":
                    if (numero > 30) alert("Inserire un numero minore di 30")
                    else{
                        contatore = numero;
                        while (contatore != 1) {
                            contatore--;
                            numero = numero * contatore;
                        }
                        disp.value = numero;
                    } break;
                case "sqrt": disp.value = Math.sqrt(numero); break;
                case "y^sqrt": disp.value = Math.pow(Math.E,numero); break;
                case "sqrt": disp.value = Math.sqrt(numero); break;
                case "1/x": disp.value = 1 / numero; break;
                case "+/-": disp.value = numero * -1; break;
                case "pi": disp.value = Math.PI(); break;
                case "sin": disp.value = Math.sin(numero); break;
                case "cos": disp.value = Math.cos(numero); break;
                case "tan": disp.value = Math.tan(numero); break;
            }
        }
        function Memoria(tipoCalcolo) {
            switch (tipoCalcolo) {
                case "ms": iabile = disp.value; break;
                case "mc": iabile = ""; break;
                case "mr": disp.value = iabile; break;
                case "m+": disp.value += "+" + iabile; break;

            }
        }

      

    </script>
</head>
<body>

<center>
<form name="calc">
<table>
        <tr>
            <td>
                <input type="radio" value="standard" name="RdBtn" checked="checked" onclick="visibilità('st')" />Standard
                <input type="radio" value="scientifica" name="RdBtn" onclick="visibilità('sc')" />Scientifica<br />
            </td>
        </tr>
        <tr>
            <td>
                <div style="float: left">
                    <input type="text" id="display" readonly="readonly" style="text-align: right; width: 168px" /><br />
                    <input type="hidden" name="opList" />
                    <input type="button" value="1" onclick="scrivi('1')"; style="width: 40px" />
                    <input type="button" value="2" onclick="scrivi('2')"; style="width: 40px" />
                    <input type="button" value="3" onclick="scrivi('3')"; style="width: 40px" />
                    <input type="button" value="+" onclick="scrivi('+')"; style="width: 40px" /><br />
                    <input type="button" value="4" onclick="scrivi('4')"; style="width: 40px" />
                    <input type="button" value="5" onclick="scrivi('5')"; style="width: 40px" />
                    <input type="button" value="6" onclick="scrivi('6')"; style="width: 40px" />
                    <input type="button" value="-" onclick="scrivi('-')"; style="width: 40px" /><br />
                    <input type="button" value="7" onclick="scrivi('7')"; style="width: 40px" />
                    <input type="button" value="8" onclick="scrivi('8')"; style="width: 40px" />
                    <input type="button" value="9" onclick="scrivi('9')"; style="width: 40px" />
                    <input type="button" value="*" onclick="scrivi('*')"; style="width: 40px" /><br />
                    <input type="button" value="0" onclick="scrivi('0')"; style="width: 40px" />
                    <input type="button" value="C" onclick="cancella()"; style="width: 40px" />
                    <input type="button" value="." onclick="scrivi('.')"; style="width: 40px" />
                    <input type="button" value="÷" onclick="scrivi('/')"; style="width: 40px" /><br />
                    <input type="button" value="=" onclick="calcola()"; style="width: 172px" />
                </div>
            </td>
            <td>
                <div id="scientific" style="display: none">
                    <input type="button" value="x ²"  onclick="cScientifica('pow2')" id="pow2" style="width: 40px; visibility: visible" />
                    <input type="button" value="x ³"  onclick="cScientifica('pow3')" id="pow3" style="width: 40px; visibility: visible" />
                    <input type="button" value="%"    onclick="scrivi('/100*')" id="perCent"style="width: 40px; visibility: visible" /><br />
                    <input type="button" value="ln"   onclick="cScientifica('ln')" id="ln"    style="width: 40px; visibility: visible" />
                    <input type="button" value="log"  onclick="cScientifica('log')" id="log"  style="width: 40px; visibility: visible" />
                    <input type="button" value="n!"   onclick="cScientifica('fatt')" id="fatt"  style="width: 40px; visibility: visible" /><br />
                    <input type="button" value="√"    onclick="cScientifica('sqrt')" id="sqrt"   style="width: 40px; visibility: visible" />
                    <input type="button" value="e"    onclick="cScientifica('y^sqrt')" id="y^sqrt" style="width: 40px; visibility: visible" />
                    <input type="button" value="MC"   onclick="Memoria('mc')" id="mc"    style="width: 40px; visibility: visible" /><br />
                    <input type="button" value="1/x"  onclick="cScientifica('1/x')" id="1/x"  style="width: 40px; visibility: visible" />
                    <input type="button" value="+/-"  onclick="cScientifica('+/-')" id="+/-"  style="width: 40px; visibility: visible" />
                    <input type="button" value="MS"   onclick="Memoria('ms')" id="ms"    style="width: 40px; visibility: visible" /><br />
                    <input type="button" value="π"    onclick="cScientifica('pi')"name="pi"     style="width: 40px; visibility: visible" />
                    <input type="button" value="sin"  onclick="cScientifica('sin')"name="sin"  style="width: 40px; visibility: visible" />
                    <input type="button" value="MR"   onclick="Memoria('mr')"name="mr"    style="width: 40px; visibility: visible" /><br />
                    <input type="button" value="cos"  onclick="cScientifica('cos')"name="cos"  style="width: 40px; visibility: visible" />
                    <input type="button" value="tan"  onclick="cScientifica('tan')"name="tan"  style="width: 40px; visibility: visible" />
                    <input type="button" value="M+"   onclick="Memoria('m+')"name="m+"    style="width: 40px; visibility: visible" /><br />
                </div>
            </td>
        </tr>
    </table><br/>
</form>
</body>
</html>
Uno screen di come viene:
[Source Code] Calcolatrice in Javascript