js入门之内置对象Math

一、 复习数据类型

简单数据类型, 基本数据类型/值类型
    Number String Boolean Null Undefined
复杂数据类型   引用类型
    Object 数组

数据在内存中是如何存储的
堆: 存复杂类型
栈: 存简单类型

简单类型在函数内部修改值不会影响外部 简单类型数据直接存储在栈上
复杂类型的会影响 因为指的都是同一块内存区域 复杂类型的存在在堆上的同时 在栈上也会生成一个内存地址 指向堆  


内置对象 (可查看MDN文档)
js中的对象 自定义对象  内置对象 浏览器对象(不属于ecmascript)

Math/Array/Date

Mozilla开发者网络(MDN)提供有关开放网络技术 包括HTML CSS和万维网
以及HTML5 应用的API

https://developer.mozilla.org/zh-CN/docs/Learn
View Code

二、 Math对象

Math对象不是构造函数,它具有数学常数和函数的属性方法 都是以静态成员的方式提供跟数学相关的运算来找Math中的成员(求绝对值、 整数)

Math.PI 圆周率 (是属性)
Math.random()  生成随机数
Math.floor()  向下取整
Math.ceii()  向上取整
Math.round() 四舍五入
Math.abs()  绝对值
Math.max/Math.min() 取最大值/最小值
    返回给定的一组数字中最大值,如果给定的参数中至少有一个参数无法被转换成数字,则会返回NaN
Math.sin()/Math.cos()  正弦余弦
Math.power()/Math.sqrt() 求指数次幂/求平方根

案例1: 求10~20之间的任意值

function random(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
}
console.log(random(10, 20));

案例2: 模拟max和min方法的实现

var MyMath = {
max: function () {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
    if (max < arguments[i]) {
        max = arguments[i];
    }
}
return max;
},
    min: function () {
        min = arguments[0];
        for (var i = 1; i < arguments.length; i++) {
            if (min > arguments[i]) {
                min = arguments[i];
            }
        }
            return min;
    }
};
console.log(MyMath.max(23,21,33));
View Code

 

posted @ 2019-12-05 09:58  ivy_wang  阅读(367)  评论(0编辑  收藏  举报