看了一下js中有Math对象可以对数据进行数学运算,以前也用到过,不过没有进行完整的研究,
今天完整的看了看,写了个测试页面方便测试这些方法的实际效果。
对于数据的处理,尤其是数学方面的处理,一般我们会在sql,或者java中完成,
因为这方面的api较多,在页面处理也是一种方式,对于封装好的js方法,有些会很方便,当sql或java代码让我们
头疼的时候,js的处理也是一条路径
math.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<input type="text" id="vv" value="" /><input disabled=true type="text" id="vv2" value="" /><br>
<select id="functiontype" οnchange="typechange()" style="width: 610px; height: 21px">
<option value='abs'>Math.abs(x) 返回数的绝对值。 </option>
<option value='acos'>Math.acos(x) 返回数的反余弦值。 </option>
<option value='asin'>Math.asin(x) 返回数的反正弦值。 </option>
<option value='atan'>Math.atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 </option>
<option value='atan2'>Math.atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) </option>
<option value='ceil'>Math.ceil(x) 对数进行上舍入。 </option>
<option value='cos'>Math.cos(x) 返回数的余弦。 </option>
<option value='exp'>Math.exp(x) 返回 e 的指数。 </option>
<option value='floor'>Math.floor(x) 对数进行下舍入。 </option>
<option value='log'>Math.log(x) 返回数的自然对数(底为e)。 </option>
<option value='max'>Math.max(x,y) 返回 x 和 y 中的最高值。 </option>
<option value='min'>Math.min(x,y) 返回 x 和 y 中的最低值。 </option>
<option value='pow'>Math.pow(x,y) 返回 x 的 y 次幂。 </option>
<option value='random'>Math.random() 返回 0 ~ 1 之间的随机数。 </option>
<option value='round'>Math.round(x) 把数四舍五入为最接近的整数。 </option>
<option value='sin'>Math.sin(x) 返回数的正弦。 </option>
<option value='sqrt'>Math.sqrt(x) 返回数的平方根。 </option>
<option value='tan'>Math.tan(x) 返回角的正切。 </option>
<option value='valueOf'>Math.valueOf() 返回 Math 对象的原始值。 </option>
<option value='constantvalue'> 返回 Math 对象的所有的常量值。 </option>
</select>
<input type="button" value="js中Math对象的方法测试" οnclick="func_Math()" />
<br>
<textarea cols="50" rows="25" id="ta"></textarea>
<br> <br>
</body>
</html>
<script type="text/javascript">
function typechange(){
document.getElementById("vv").value="";
document.getElementById("vv2").value="";
document.getElementById("ta").innerText="";
var functiontype=document.getElementById("functiontype").value;
if(functiontype=="atan2"||functiontype=="max"||functiontype=="min"||functiontype=="pow"){
//document.getElementById("vv2").removeAttribute('disabled');
document.getElementById("vv").disabled=false;
document.getElementById("vv2").disabled=false;
}else if(functiontype=="random"||functiontype=="constantvalue"){
document.getElementById("vv").disabled=true;
document.getElementById("vv2").disabled=true;
}else{
document.getElementById("vv").disabled=false;
document.getElementById("vv2").disabled=true;
}
}
function func_Math(){
var vv=document.getElementById("vv").value;
var vv2=document.getElementById("vv2").value;
var functiontype=document.getElementById("functiontype").value;
var res;
if(functiontype=="abs"){
res="abs 值:"+Math.abs(vv);
}else if(functiontype=="acos"){
res="acos 值:"+Math.acos(vv);
}else if(functiontype=="asin"){
res="asin 值:"+Math.asin(vv);
}else if(functiontype=="atan"){
res="atan 值:"+Math.atan(vv);
}else if(functiontype=="atan2"){
res="atan2 值:"+Math.atan2(vv,vv2);
}else if(functiontype=="ceil"){
res="ceil 值:"+Math.ceil(vv);
}else if(functiontype=="cos"){
res="cos 值:"+Math.cos(vv);
}else if(functiontype=="exp"){
res="exp 值:"+Math.exp(vv);
}else if(functiontype=="floor"){
res="floor 值:"+Math.floor(vv);
}else if(functiontype=="log"){
res="log 值:"+Math.log(vv);
}else if(functiontype=="max"){
res="max 值:"+Math.max(vv,vv2);
}else if(functiontype=="min"){
res="min 值:"+Math.min(vv,vv2);
}else if(functiontype=="pow"){
res="pow 值:"+Math.pow(vv,vv2);
}else if(functiontype=="random"){
res="random 值:"+Math.random();
}else if(functiontype=="round"){
res="round 值:"+Math.round(vv);
}else if(functiontype=="sin"){
res="sin 值:"+Math.sin(vv);
}else if(functiontype=="sqrt"){
res="sqrt 值:"+Math.sqrt(vv);
}else if(functiontype=="tan"){
res="tan 值:"+Math.tan(vv);
}else if(functiontype=="valueOf"){
res="valueOf 值:"+Math.valueOf(vv);
}else if(functiontype=="constantvalue"){
res="constantvalue 值:\r\n"
+"Math.E 返回算术常量 e,即自然对数的底数(约等于2.718)"+Math.E+"\n\n"
+"Math.LN2 返回 2 的自然对数(约等于0.693)"+Math.LN2+"\n\n"
+"Math.LN10 返回 10 的自然对数(约等于2.302)"+Math.LN10+"\n\n"
+"Math.LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)"+Math.LOG2E+"\n\n"
+"Math.LOG10E 返回以 10 为底的 e 的对数(约等于0.434)"+Math.LOG10E+"\n\n"
+"Math.PI 返回圆周率(约等于3.14159))"+Math.PI+"\n\n"
+"Math.SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)"+Math.SQRT1_2+"\n\n"
+"Math.SQRT2 返回 2 的平方根(约等于 1.414)"+Math.SQRT2;
}
document.getElementById("ta").innerText=res;
}
</script>