Javascript怎么实现Math.sqrt函数

JavaScript019

Javascript怎么实现Math.sqrt函数,第1张

//自定义 Math 类<br>var MyMath=(function(){<br>

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对象。