一个计算器js脚本文档格式.docx

上传人:b****4 文档编号:16741893 上传时间:2022-11-25 格式:DOCX 页数:27 大小:18.73KB
下载 相关 举报
一个计算器js脚本文档格式.docx_第1页
第1页 / 共27页
一个计算器js脚本文档格式.docx_第2页
第2页 / 共27页
一个计算器js脚本文档格式.docx_第3页
第3页 / 共27页
一个计算器js脚本文档格式.docx_第4页
第4页 / 共27页
一个计算器js脚本文档格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

一个计算器js脚本文档格式.docx

《一个计算器js脚本文档格式.docx》由会员分享,可在线阅读,更多相关《一个计算器js脚本文档格式.docx(27页珍藏版)》请在冰豆网上搜索。

一个计算器js脚本文档格式.docx

varhexnum="

0123456789abcdef"

varangle="

d"

varstack="

"

varlevel="

0"

varlayer=0

//数字键

functioninputkey(key)

{

varindex=key.charCodeAt(0);

if((carry==2&

&

(index==48||index==49))

||(carry==8&

index>

=48&

index<

=55)

||(carry==10&

(index>

=57||index==46))

||(carry==16&

((index>

=57)||(index>

=97&

=102))))

if(endNumber)

endNumber=false

document.calc.display.value=key

elseif(document.calc.display.value==null||document.calc.display.value=="

else

document.calc.display.value+=key

functionchangeSign()

if(document.calc.display.value!

="

if(document.calc.display.value.substr(0,1)=="

-"

document.calc.display.value=document.calc.display.value.substr

(1)

document.calc.display.value="

+document.calc.display.value

//函数键

functioninputfunction(fun,shiftfun)

endNumber=true

if(document.calc.shiftf.checked)

document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry))),carry)

document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry))),carry)

document.calc.shiftf.checked=false

document.calc.hypf.checked=false

inputshift()

functioninputtrig(trig,arctrig,hyp,archyp)

if(document.calc.hypf.checked)

inputfunction(hyp,archyp)

inputfunction(trig,arctrig)

//运算符

functionoperation(join,newlevel)

vartemp=stack.substr(stack.lastIndexOf("

("

)+1)+document.calc.display.value

while(newlevel!

=0&

(newlevel<

=(level.charAt(level.length-1))))

temp=parse(temp)

level=level.slice(0,-1)

if(temp.match(/^(.*\d[\+\-\*\/\%\^\&

\|x])?

([+-]?

[0-9a-f\.]+)$/))

document.calc.display.value=RegExp.$2

stack=stack.substr(0,stack.lastIndexOf("

)+1)+temp+join

document.calc.operator.value="

"

+join+"

level=level+newlevel

//括号

functionaddbracket()

document.calc.display.value=0

stack=stack+"

level=level+0

layer+=1

document.calc.bracket.value="

(="

+layer

functiondisbracket()

while((level.charAt(level.length-1))>

0)

document.calc.display.value=temp

))

layer-=1

if(layer>

//等号

functionresult()

while(layer>

disbracket()

vartemp=stack+document.calc.display.value

stack="

level="

//修改键

functionbackspace()

if(!

endNumber)

if(document.calc.display.value.length>

1)

document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length-1)

functionclearall()

layer="

//转换键

functioninputChangCarry(newcarry)

document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry))

carry=newcarry

document.calc.sin.disabled=(carry!

=10)

document.calc.cos.disabled=(carry!

document.calc.tan.disabled=(carry!

document.calc.bt.disabled=(carry!

document.calc.pi.disabled=(carry!

document.calc.e.disabled=(carry!

document.calc.kp.disabled=(carry!

document.calc.k2.disabled=(carry<

=2)

document.calc.k3.disabled=(carry<

document.calc.k4.disabled=(carry<

document.calc.k5.disabled=(carry<

document.calc.k6.disabled=(carry<

document.calc.k7.disabled=(carry<

document.calc.k8.disabled=(carry<

=8)

document.calc.k9.disabled=(carry<

document.calc.ka.disabled=(carry<

document.calc.kb.disabled=(carry<

document.calc.kc.disabled=(carry<

document.calc.kd.disabled=(carry<

document.calc.ke.disabled=(carry<

document.calc.kf.disabled=(carry<

functioninputChangAngle(angletype)

angle=angletype

if(angle=="

document.calc.display.value=radiansToDegress(document.calc.display.value)

document.calc.display.value=degressToRadians(document.calc.display.value)

functioninputshift()

document.calc.bt.value="

deg"

document.calc.ln.value="

exp"

document.calc.log.value="

expd"

document.calc.sin.value="

ahs"

document.calc.cos.value="

ahc"

document.calc.tan.value="

aht"

asin"

acos"

atan"

document.calc.sqr.value="

x^.5"

document.calc.cube.value="

x^.3"

document.calc.floor.value="

小数"

d.ms"

ln"

log"

hsin"

hcos"

htan"

sin"

cos"

tan"

x^2"

x^3"

取整"

//存储器部分

functionclearmemory()

mem=0

document.calc.memory.value="

functiongetmemory()

document.calc.display.value=decto(mem,carry)

functionputmemory()

=0)

mem=todec(document.calc.display.value,carry)

M"

functionaddmemory()

mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry))

if(mem==0)

functionmultimemory()

mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry))

//十进制转换

functiontodec(num,oldcarry)

if(oldcarry==10||num==0)return(num)

varneg=(num.charAt(0)=="

if(neg)num=num.substr

(1)

varnewnum=0

for(varindex=1;

index<

=num.length;

index++)

newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1))

if(neg)

newnum=-newnum

return(newnum)

functiondecto(num,newcarry)

varneg=(num<

if(newcarry==10||num==0)return(num)

num="

+Math.abs(num)

varnewnum="

while(num!

newnum=hexnum.charAt(num%newcarry)+newnum

num=Math.floor(num/newcarry)

newnum="

+newnum

//表达式解析

functionparse(string)

if(string.match(/^(.*\d[\+\-\*\/\%\^\&

\|x\<

])?

[0-9a-f\.]+)([\+\-\*\/\%\^\&

])([+-]?

return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4))

return(string)

//数学运算和位运算

functioncypher(left,join,right)

left=todec(left,carry)

right=todec(right,carry)

if(join=="

+"

return(decto(parseFloat(left)+parseFloat(right),carry))

return(decto(left-right,carry))

*"

return(decto(left*right,carry))

/"

&

right!

return(decto(left/right,carry))

%"

return(decto(left%right,carry))

return(decto(left&

right,carry))

|"

return(decto(left|right,carry))

^"

return(decto(Math.pow(left,right),carry))

x"

return(decto(left^right,carry))

return(decto(left<

alert("

除数不能为零"

return(left)

//函数计算

functionfuncalc(fun,num)

with(Math)

if(fun=="

pi"

return(PI)

e"

return(E)

abs"

return(abs(num))

ceil"

return(ceil(num))

round"

return(round(num))

floor"

return(floor(num))

deci"

return(num-floor(num))

ln"

num>

return(log(num))

exp"

return(exp(num))

log"

return(log(num)*LOG10E)

expdec"

return(pow(10,num))

//欢迎来到站长特效网,我们的网址是,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。

cube"

return(num*num*num)

cubt"

return(pow(num,1/3))

sqr"

return(num*num)

sqrt"

return(sqrt(num))

return(factorial(num))

recip"

num!

return(1/num)

dms"

return(dms(num))

deg"

return(deg(num))

~"

return(~num)

sin"

return(sin(degressToRadians(num)))

cos"

return(cos(degressToRadians(num)))

tan"

return(tan(degressToRadians(num)))

arcsin"

abs(num)<

=1)

return(radiansToDegress(asin(num)))

arccos"

return(radiansToDegress(acos(num)))

arctan"

return(radiansToDegress(atan(num)))

return(sin(num))

return(cos(num))

return(tan(num))

return(asin(num))

return(acos(num))

return(atan(num))

hypsin"

return((exp(num)-exp(0-num))*0.5)

hypcos"

return((exp(num)+exp(-num))*0.5)

hyptan"

return((exp(num)-exp(-num))/(exp(num)+exp(-num)))

ahypsin"

|fun=="

对不起,公式还没有查到!

re

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1