Javascript Lessons 1 — Functional Calculator
Welcome to our Javascript Lessons!
Lets make Functional Falculator together.
<body><center><fieldset><style>input {width: 100%;font-size: medium;}body {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: x-small;margin: 0px;padding: 0px;}h1 {font-size: medium;font-weight: bold;}td {text-align: center;vertical-align: middle;}.table {margin: 1px;border: thick solid #00000;}</style>// Denis Makarov , info@binarythings.comvar Result=0, Operator=0, Second=0, Ready=0, Done=1, Complete=0, Integer, CurrentValue;function reset(value){document.calculator.LED.value = value;Result = 0, Operator = 0, Second = 0, Ready = 0; Done = 1; Complete = 0;}function SetValue(NewValue){Integer = 1;if(Second || Done){Second = 0;Done = 0;CurrentValue = NewValue;}for(var i=0; i<CurrentValue.length; i++)if (CurrentValue[i]=='.')Integer=0;}function Click(Caption){CurrentValue=document.calculator.LED.value;if(Caption=='.'){SetValue('0');if(Integer){CurrentValue += Caption;document.calculator.LED.value=CurrentValue;Complete=0;}}if (Caption.length == 1 && Caption>='0' && Caption<='9'){SetValue('');if(CurrentValue=='0')CurrentValue='';CurrentValue += Caption;document.calculator.LED.value = CurrentValue;Complete = 1;}if (Caption=='pi'){CurrentValue = Math.PI;document.calculator.LED.value = CurrentValue;Complete = 1;}if (Caption=='e'){CurrentValue = Math.E;document.calculator.LED.value = CurrentValue;Complete = 1;}if(Caption=='-' || Caption=='+' || Caption=='/' || Caption=='*' || Caption=='^'){if(Second)Operator = Captionelse{if(!Ready){Operator = Caption;Result = CurrentValue;Ready=1;} else{if (Operator=='^')Result = Math.pow(Result, CurrentValue);elseResult = eval(Result + Operator + CurrentValue);Operator = Caption; document.calculator.LED.value = Result;} Complete=0; Second = 1;}}if(Caption=='1/x' ){Result = eval('1/' + CurrentValue) ; reset(Result);}if(Caption=='sqrt'){Result = Math.sqrt(CurrentValue);reset(Result);}if(Caption=='exp' ){Result = Math.exp(CurrentValue);reset(Result);}if(Caption=='log' ){Result = Math.log(CurrentValue) / Math.LN10;reset(Result);}if(Caption=='ln' ){Result = Math.log(CurrentValue);reset(Result);}if(Caption=='sin' ){Result = CurrentValue;if (document.calculator.angle[0].checked)Result = Result * Math.PI / 180;if (document.calculator.angle[2].checked)Result = Result * Math.PI / 200;Result = Math.sin(Result);reset(Result);}if(Caption=='cos' ){Result = CurrentValue;if (document.calculator.angle[0].checked)Result = Result * Math.PI / 180;if (document.calculator.angle[2].checked)Result = Result * Math.PI / 200;Result = Math.cos(Result);reset(Result);}if(Caption=='tan' ){Result = CurrentValue;if (document.calculator.angle[0].checked)Result = Result * Math.PI / 180;if (document.calculator.angle[2].checked)Result = Result * Math.PI / 200;Result = Math.tan(Result);reset(Result);}if(Caption=='asin' ){Result = Math.asin(CurrentValue);if (document.calculator.angle[0].checked)Result = Result * 180 / Math.PI;if (document.calculator.angle[2].checked)Result = Result * 200 / Math.PI;reset(Result);}if(Caption=='acos' ){Result = Math.acos(CurrentValue);if (document.calculator.angle[0].checked)Result = Result * 180 / Math.PI;if (document.calculator.angle[2].checked)Result = Result * 200 / Math.PI;reset(Result);}if(Caption=='atan' ){Result = Math.atan(CurrentValue);if (document.calculator.angle[0].checked)Result = Result * 180 / Math.PI;if (document.calculator.angle[2].checked)Result = Result * 200 / Math.PI;reset(Result);}if(Caption=='sinh' ){Result = Math.exp(CurrentValue);Result = (Result — 1 / Result) / 2;reset(Result);}if(Caption=='cosh' ){Result = Math.exp(CurrentValue);Result = (Result + 1 / Result) / 2;reset(Result);}if(Caption=='tanh' ){Result = Math.exp(CurrentValue);Result = (Result — 1 / Result) / (Result + 1 / Result);reset(Result);}if(Caption=='asinh' ){Result = CurrentValue / Math.abs(CurrentValue) * Math.log(Math.abs(CurrentValue) + Math.sqrt(CurrentValue * CurrentValue + 1));reset(Result);}if(Caption=='acosh' ){Result = 2 * Math.log(Math.sqrt((CurrentValue + 1) / 2) + Math.sqrt((CurrentValue — 1) / 2));reset(Result);}if(Caption=='atanh' ){Result = Math.log((CurrentValue — 1) / (CurrentValue + 1)) / 2;reset(Result);}if(Caption=='+/-')document.calculator.LED.value = eval(-CurrentValue);if(Caption=='=' && Complete && Operator!='0'){if (Operator=='^'){Result = Math.pow(Result, CurrentValue);reset(Result);} elsereset(eval(Result + Operator + CurrentValue));}if (Caption=='C')reset(0);if(document.calculator.LED.value[0] == '.')document.calculator.LED.value = '0' + document.calculator.LED.value;}</script><formname="calculator"><tableclass=tablewidth="360"height="240"border="0"align="center"cellpadding="2"cellspacing="0"><tbody><tr><tdcolspan="4"> <inputname="LED"type="text"value="0"size="20"> </td><td><inputtype="button"name="C"value="C"onclick="Click('C')"></td><tdwidth="60"><inputname="="type="button"id="=2"value="="onclick="Click('=')"></td></tr><tr><tdcolspan="2"> <inputname="angle"type="radio"checked="checked">Derece</td><tdcolspan="2"> <inputname="angle"type="radio">Radyan</td><tdcolspan="2"> <inputname="angle"type="radio">Gradients</td></tr><tr><tdwidth="60"> <inputname="sin"type="button"id="sin"value="sin"onclick="Click('sin')"></td><tdwidth="60"> <inputname="cos"type="button"id="cos"value="cos"onclick="Click('cos')"></td><tdwidth="60"> <inputname="tab"type="button"id="tab"value="tan"onclick="Click('tan')"></td><tdwidth="60"> <inputname="sinh"type="button"id="sinh"value="sinh"onclick="Click('sinh')"></td><tdwidth="60"> <inputname="cosh"type="button"id="cosh"value="cosh"onclick="Click('cosh')"></td><tdwidth="60"> <inputname="tanh"type="button"id="tanh"value="tanh"onclick="Click('tanh')"></td></tr><tr><tdwidth="60"> <inputname="asin"type="button"id="asin"value="asin"onclick="Click('asin')"></td><tdwidth="60"> <inputname="acos"type="button"id="acos"value="acos"onclick="Click('acos')"></td><tdwidth="60"> <inputname="atan"type="button"id="atan"value="atan"onclick="Click('atan')"></td><tdwidth="60"> <inputname="asinh"type="button"id="asinh"value="asinh"onclick="Click('asinh')"></td><tdwidth="60"> <inputname="acosh"type="button"id="acosh"value="acosh"onclick="Click('acosh')"></td><tdwidth="60"> <inputname="atanh"type="button"id="atanh"value="atanh"onclick="Click('atanh')"></td></tr><tr><tdwidth="60"><inputname="exp"type="button"id="exp"value="exp"onclick="Click('exp')"></td><tdwidth="60"><inputname="7"type="button"id="7"value="7"onclick="Click('7')"></td><tdwidth="60"><inputname="8"type="button"id="8"value="8"onclick="Click('8')"></td><tdwidth="60"><inputname="9"type="button"id="9"value="9"onclick="Click('9')"></td><tdwidth="60"><inputname="+"type="button"id="+"value="+"onclick="Click('+')"></td><tdwidth="60"><inputname="^"type="button"id="^"value="^"onclick="Click('^')"></td></tr><tr><tdwidth="60"><inputname="log"type="button"id="log"value="log"onclick="Click('log')"></td><tdwidth="60"><inputname="4"type="button"id="4"value="4"onclick="Click('4')"></td><tdwidth="60"><inputname="5"type="button"id="5"value="5"onclick="Click('5')"></td><tdwidth="60"><inputname="6"type="button"id="6"value="6"onclick="Click('6')"></td><tdwidth="60"><inputname="-"type="button"id="-"value="-"onclick="Click('-')"></td><tdwidth="60"><inputname="1/x"type="button"id="1/x2"value="1/x"onclick="Click('1/x')"></td></tr><tr><tdwidth="60"><inputname="ln"type="button"id="abs22"value="ln"onclick="Click('ln')"></td><tdwidth="60"><inputname="1"type="button"id="1"value="1"onclick="Click('1')"></td><tdwidth="60"><inputname="2"type="button"id="2"value="2"onclick="Click('2')"></td><tdwidth="60"><inputname="3"type="button"id="3"value="3"onclick="Click('3')"></td><tdwidth="60"><inputname="*"type="button"id="*"value="*"onclick="Click('*')"></td><tdwidth="60"><inputname="pi"type="button"id="pi3"value="pi"onclick="Click('pi')"></td></tr><tr><tdwidth="60"><inputname="sqrt"type="button"id="sqrt"value="sqrt"onclick="Click('sqrt')"></td><tdwidth="60"><inputname="0"type="button"id="0"value="0"onclick="Click('0')"></td><tdwidth="60"><inputname="."type="button"id="."value="."onclick="Click('.')"></td><tdwidth="60"><inputname="+/-"type="button"id="+/-2"value="+/-"onclick="Click('+/-')"></td><tdwidth="60"><inputname="/"type="button"id="/"value="/"onclick="Click('/')"></td><tdwidth="60"><inputname="e"type="button"id="pi4"value="e"onclick="Click('e')"></td></tr></tbody></table></form></fieldset></center></body>
