js Math对象实现

属性

E 返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2 返回 2 的自然对数(约等于0.693)。
LN10 返回 10 的自然对数(约等于2.302)。
LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
PI 返回圆周率(约等于3.14159)。
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
SQRT2 返回 2 的平方根(约等于 1.414)。


  • 1,abs(x) 返回数的绝对值。
  • 2,ceil(x) 向上秋正数 去除小数近
  • 3,floor(x) 向下取整 去除小数
  • 4,round(x) 四舍五入
  • 5, max(x,y) 最高值。
  • 6,min(x,y) 最低值。
  • 7,random() 返回 0 ~ 1 之间的随机数。
  • 8,sqrt(x) 开平方。
  • 9,pow 及细幂

  • 1,abs(x) 返回数的绝对值。
        <script>
            Math={
                abs:function(int){
                   if(int>0){
                       return int;
                   }else{
                    //    转化为真数组
                       var ap=Array.prototype.slice.call( int.toString())
                        for(var i=0;i<ap.length-1;i++){
                            ap[i]=ap[i+1];
                            // 后一个给前一个
                          
                        }
                        // 数组转化为字符串  字符串转化为数字
                        return Number(ap.join(""))
                   }    
                }
            }
          var name=-1000.1212;
          console.log( Math.abs(name))  
        </script>
  • 2,ceil(x) 向上秋正数 去除小数近
    <script>
        Math = {
            ceil: function (int) {
                var ap = int.toString()
                var app = []
                for (var i = 1; i < ap.length; i++)
                    //  找区间
                    if (ap[i] == ".") {
                        //  区间范围控制住了
                        for (var j = 0; j < i; j++) {
                            app[j] = ap[j]
                        }
                        //  抓话为数组属于
                        return Number(app.join("") + 1);
                    }
            }
        }
        var name = 1000.1212;
        console.log(Math.ceil(name))
    </script>
  • 3,floor(x) 向下取整 去除小数
       <script>
           Math={
               floor:function(int){
                  var ap=int.toString()
                  var app=[]
                  for(var i=1;i<ap.length;i++)
                   //  找区间
                    if(ap[i]=="."){
                       //  区间范围控制住了
                        for(var j=0;j<i;j++){
                            app[j]=ap[j]
                        }
                       //  抓话为数组属于
                          return Number(app.join(""));
                    }                  
               }
           }
         var name=1000.1212;
         console.log( Math.floor(name))  
       </script>
  • 4,round(x) 四舍五入
        <script>
            Math={
                round:function(int){
                   var ap=int.toString()
                   var app=[]
                   for(var i=1;i<ap.length;i++)
                    //  找区间
                     if(ap[i]=="."){
                        //  区间范围控制住了
                         for(var j=0;j<i;j++){
                             app[j]=ap[j]
                         }
                        // 4 5 判断
                        if(ap[i+1]>5){
                            return Number(app.join("")+1);
                        }else{
                            return Number(app.join(""));
                        }               
                     }                  
                }
            }
          var name=1000.1212;
          console.log( Math.round(name))  
        </script>
  • 5, max(x,y) 最高值。
        <script>
            Math={
                max:function(...int){
                    var pr=int[0]
                   for(var i=0;i<int.length;i++)
                        if(int[i]>pr)
                            pr=int[i]; 
                            return pr;  
                }
            }
          var name=1000.1212;
          console.log( Math.max(10,10,15,12,32))  
        </script>
  • 6,min(x,y) 最低值。
        <script>
            Math={
                max:function(...int){
                    var pr=int[0]
                   for(var i=0;i<int.length;i++)
                        if(int[i]<pr)
                            pr=int[i]; 
                            return pr;  
                }
            }
          var name=1000.1212;
          console.log( Math.max(10,10,15,12,32))  
        </script>
  • 7,random() 返回 0 ~ 1 之间的随机数。
  • 8,sqrt(x) 开平方。
        <script>
            // 拆根号  平方跟
            Math={
                sqrt:function(ii){
                    if(ii<0){
                        return false;
                    }else if(ii==0){
                        return ii;
                    }else{
                        return  ii/2;
                    }
                }
            }
          var name=1000.1212;
          console.log( Math.sqrt(4))  
        </script>
  • 9,pow 及此幂
        <script>
            Math={
                pow:function(ii,iii){
                 var iiii=ii;
                   for(var i=0;i<iii-1;i++)
                           iiii=iiii*ii  
                            return  iiii;
                }
            }
          var name=1000.1212;
          console.log( Math.pow(2,2))  
        </script>
  • cos(x) 返回数的余弦。
  • acos(x) 返回数的反余弦值。
  • asin(x) 返回数的反正弦值。
  • atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
  • atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。

exp(x) 返回 e 的指数。
log(x) 返回数的自然对数(底为e)。
sin(x) 返回数的正弦。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值