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

二、 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));
上一篇:CM10 WIFI连不上解决方案


下一篇:黑白逆向编程课程笔记 18.局部&全局变量&参数详解