1.0 内置对象
JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象
- 前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于我们JS 独有的, 我们JS API 讲解
- 内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
- 内置对象最大的优点就是帮助我们快速开发
- JavaScript 提供了多个内置对象:Math、 Date 、Array、String等(数学、日期、数组、字符串)
2.0 学会自己查文档
1. MDN
学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C来查询。
MDN: https://developer.mozilla.org/zh-CN/
2. 如何学习对象中的方法
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过 demo 进行测试
3.0 Math数学对象
Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。
Math 数学对象, 不是一个构造函数, 所以我们不需要 new 来调用, 而是直接使用里面的属性和方法即可
1. 圆周率 Math.PI
console.log(Math.PI);
2. 最大值 Math.max
console.log(Math.max(1, 99, 3)); // 99
console.log(Math.max(-1, -22)); // -1
console.log(Math.max(1, 99, 'pink老')); // NaN 有非数字显示为 NaN
console.log(Math.max()); // -Infinity 不填写 值 负的无穷大
3. 绝对值 Math.abs
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); // 1
console.log(Math.abs('-1')); // 他有一个隐式转换 会把字符串型转 -1 换为 字符型
console.log(Math.abs('pink')); // NaN
4.三个取整的方法
// 1. Math.floor() floor 地板 向下取整
console.log(Math.floor(1.2)); // 1
console.log(Math.floor(1.9)); // 1
// 2. Math.ceil() ceil 天花板 向上取整
console.log(Math.ceil(1.2)); // 2
console.log(Math.ceil(1.9)); // 2
// 3. Math.round() round 四舍五入 .5有点特殊 他是向大了取整 而-1 大于 -2
console.log(Math.round(1.2)); // 1
console.log(Math.round(1.5)); // 2
console.log(Math.round(1.8)); // 2
console.log(Math.round(-1.8)); // -2
console.log(Math.round(-1.5)); // -1 这个结果是 -1 而不是-2
console.log(Math.round(-1.1)); // -1
注意:上面的方法必须带括号
3.1 封装自己的数学对象
var myMath = {
PI: 3.141592653,
max: function() {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i]
}
}
return max;
},
min: function() {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] < min)
min = arguments[i]
}
return min;
},
}
console.log(myMath.PI);
console.log(myMath.max(1, 2, 3));
console.log(myMath.min(1, 5, 2));
3.2 随机数方法 random()
1. Math 对象随机的方法 random() 返回一个随机的小数 0 =< x < 1 ;
2. 这个方法里面不跟参数
3. 代码验证
console.log(Math.random()); // 0 =< x < 1
4. 我们想要得到两个数之间的 随机整数 并且包含这两个整数
// return Math.floor(Math.random() * (max - min + 1)) + min;
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var re = getRandom(0, 10);
console.log(re);
5. 随机点名
var arr = ['你', '我', '他', '没来', ]
var arr1 = arr[getRandom(0, arr.length - 1)]
console.log(arr1);
3.3 随机数方法 random()案例—猜数字游戏
案例1--- 猜数字小游戏!
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
var num = getRandom(1, 10);
console.log(num);
while (true) {
// 这是一个死循环 除非遇到 break
var arr = prompt('请输入一个数字');
if (arr > num) {
alert('数字大了');
} else if (arr < num) {
alert('数字小了');
} else {
alert('猜对了!')