首先我们先简单介绍一下JavaScript 中的对象
在JavaScript中的对象分为3种:自定义对象,var obj={} 内置对象,浏览器对象
前面两种对象是JS基础内容 属于ECMAScript 第三个浏览器对象属于我们JS独有的 后面会讲解
内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或者是最基本而且必要的功能
内置对象最大的优点就是帮助我们快速开发
JavaScript提供了多个内置对象:Math Date Array String等
本次我们就简单介绍一下其中Match对象的方法
Math 对象用于执行数学任务。
它并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()
语法:
var num = Math.PI; // 返回num
var sum = Math.sqrt(8); // 返回8的平方根
举例:求任意几个数中的最大值
console.log(Math.max(1, 99, 3)); // 99
console.log(Math.max(-1, -10)); // -1
console.log(Math.max(1, 99, 'Jack')); // NaN
console.log(Math.max()); // -Infinity
Math 对象绝对值和三个取整方法
Math 绝对值 Math.abs()
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); // 1
console.log(Math.abs('1')); // 1 这里包括隐式转换 会把字符串型1转换成数字型1再取绝对值
console.log(Math.abs('-1')); // 1这里包括隐式转换 会把字符串型-1转换成数字型-1再取绝对值
console.log(Math.abs('小明')); // NaN Not a Number
三个取整方法:
//Math.floor() 向下取整 往小了取值 floor 地板
console.log(Math.floor(1.1)); // 1
console.log(Math.floor(1.5)); // 1
console.log(Math.floor(1.9)); // 1
Math.ceil() 向上取整 往大了取值 ceil 天花板
console.log(Math.ceil(1.1)); // 2
console.log(Math.ceil(1.5)); // 2
console.log(Math.ceil(1.9)); // 2
Math.round() 四舍五入 其他数字都是四舍五入 但是.5特殊 它往大了取值
console.log(Math.round(1.1)); // 1
console.log(Math.round(1.5)); // 2
console.log(Math.round(1.9)); // 2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.5)); // -1
console.log(Math.round(-1.9)); // -2
Math 对象随机数方法
* Math对象随机数方法 random() 返回一个随机的小数 0<=x<1 [0,1)
* 这个方法里面不跟参数
console.log(Math.random());
我们想要得到两个数之间的随机整数 并且包含这两个整数 需要一个个公式
Math.floor(Math.random() * (max - min + 1)) + min
function getRandom(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
实现随机点名功能:
var arr = ['Jack', 'Lucy', 'Tom', 'Rose', 'LiLy', 'Mark', 'Michael'];
console.log(arr[getRandom(0, arr.length - 1)]);
Math.random猜数字游戏
// 1.随机生成一个1~10的整数,我们需要用到Math.random()方法
// 2.需要一直猜到正确为止,所以需要一直循环
// 3.while循环更加简单
// 4.核心算法:使用if else if多分支语句来判断大于、小于、等于
function getRandom(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 10);
while (true) {
var num = prompt('你来猜?输入1~10之间的一个数字');
if (num > random) {
alert('你猜大了');
} else if (num < random) {
alert('你猜小了');
} else {
alert('猜对了');
break; //退出整个循环结束程序
}
}