var diff=0.00000000001//精度<br>
var GetSqrt= function(n){ <br>
var s = n / 2//假设的平方根初值 <br>
while (NotFit(s,n)) { <br>
s = ((n / s) + s) / 2<br>
} <br>
return s<br>
},NotFit=function( num, n){ <br>
var r= num*num<br>
var d = Abs(n - Abs(r))<br>
if(d>diff){ <br>
return true<br>
}<br>
return false<br>
},Abs=function(a){<br>
if(a>=0 )return a<br>
else return -a<br>
}<br><br>
return {<br>
sqrt:GetSqrt,<br>
abs:Abs<br>
}<br>})()<br><br>//sqrt<br>alert(MyMath.sqrt(0))//0<br>alert(MyMath.sqrt(1))//1<br>alert(MyMath.sqrt(9))//3<br><br>//abs<br>alert(MyMath.abs(-4))//4上面的代码自己测试可以运行
JS中Math函数的常用方法
Math是数学函数,但又属于对象数据类型typeof Math=>‘object’
console.dir(Math)查看Math的所有函数方法。
1,Math.abs()获取绝对值
Math.abs(-12) = 12
2,Math.ceil() and Math.floor()向上取整和向下取整
console.log(Math.ceil(12.03))//13
console.log(Math.ceil(12.92))//13
console.log(Math.floor(12.3))//12
console.log(Math.floor(12.9))//12
3,Math.round()四舍五入
注意:正数时,包含5是向上取整,负数时包含5是向下取整。
1、Math.round(-16.3) = -16
2、Math.round(-16.5) = -16
3、Math.round(-16.51) = -17
4,Math.random()取[0,1)的随机小数
案例1:获取[0,10]的随机整数
console.log(parseInt(Math.random()*10))//未包含10
console.log(parseInt(Math.random()*10+1))//包含10
案例2:获取[n,m]之间的随机整数
Math.round(Math.random()*(m-n)+n)
5,Math.max() and Max.min()获取一组数据中的最大值和最小值
console.log(Math.max(10,1,9,100,200,45,78))
console.log(Math.min(10,1,9,100,200,45,78))
6,Math.PI获取圆周率π 的值
console.log(Math.PI)
7,Math.pow() and Math.sqrt()
Math.pow()获取一个值的多少次幂
Math.sqrt()对数值开方
Math.pow(10,2) = 100
Math.sqrt(100) = 10
math.sqrt不属于系统内置函数。math是javascript内置对象,不是内置函数。内置对象是js本身已经写好的对象,可以直接使用不需要定义它。javascript中常用内置对象包括:String对象、Array对象、Date对象、Boolean对象。