JavaScript 内置对象
目标
- 能够说出什么是内置对象
- 能够根据文档查询指定 API 的使用方法
- 能够使用 Math 对象的常用方法
- 能够使用 Date 对象的常用方法
- 能够使用 Array 对象的常用方法
- 能够使用 String 对象的常用方法
目录
- 内置对象
- 查文档
- Math 对象
- 日期对象
- 数组对象
- 字符串对象
1. 内置对象
- JavaScript 中的对象分为 3 种:自定义对象、内置对象、浏览器对象
- 前面两种对象是 JS 基础内容,属于 ECMAScript ;第三个浏览器对象属于我们 JS 独有的,我们 JS API 讲解
- 内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
- 内置对象最大的优点就是帮助我们快速开发
- JavaScript 提供了多个内置对象:Math、Date、Array、String 等
2. 查文档
2.1 MDN
学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过 MDN / W3C 来查询
Mozilla 开发者网络(MDN)提供了有关开放网络技术(Open Web) 的信息,包括 HTML、CSS和万维网及 HTML5 应用的 API
MDN.
2.2 如何学习对象中的方法
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过 demo 进行测试
3. Math 对象
<script>
// Math数学对象 不是一个构造函数 所以我们不需要new来调用 而是直接使用里面的属性和方法即可
console.log(Math.PI); // 一个属性 圆周率 3.141592653589793
console.log(Math.max(1, 88, 43)); // 88
console.log(Math.max(-10, -1)); // -1
console.log(Math.max(1, 66, "pink老师")); // NaN
console.log(Math.max()); // -Infinity
</script>
案例:封装自己的数学对象
利用对象封装自己的数学对象 里面有 PI 最大值和最小值
<script>
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); // 3.141592653
console.log(myMath.max(1, 4, 5, 22, 11)); // 22
console.log(myMath.min(1, 4, 5, 22, 11)); // 1
</script>
3.1 Math 概述
Math 对象不是构造函数,它具有数学常用和函数的属性和方法,跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。
<script>
Math.PI; // 圆周率
Math.floor(); // 向下取整
console.log(Math.floor(1.1)); // 1
console.log(Math.floor(1.9)); // 1
Math.ceil(); // 向上取整
console.log(Math.ceil(1.1)); // 2
console.log(Math.ceil(1.9)); // 2
Math.round(); // 四舍五入 就近取整 注意 -3.5 就是 -3 往大了取
console.log(Math.round(1.1)); // 1
console.log(Math.round(1.5)); // 2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.5)); // -1
Math.abs(); // 绝对值
console.log(Math.abs(-1)); // 1
console.log(Math.abs("-1")); // 1
console.log(Math.abs("pink老师")); // NaN
Math.max(); // 求最大值
Math.min(); // 求最小值
</script>
3.2 随机数方法 random()
<script>
// 1. Math对象随机数方法 random() 返回一个随机的小数 0 =< x < 1
// 2. 这个方法里面不跟参数
// 3. 代码验证
console.log(Math.random());
// 4. 我们想要得到两个数之间的随机整数 并且 包含这2个整数
// Math.floor(Math.random() * (max - min + 1)) + min
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(1, 10));
// 随机点名
var arr = ["张三", "李四", "老王", "赵六", "辣椒", "王五"];
console.log(arr[getRandom(0, arr.length - 1)]);
</script>
案例:猜数字游戏
程序随机生成一个 1 ~ 10 之间的数字,并让用户输入一个数字
- 如果大于该数字,就提示,数字大了,继续猜
- 如果小于该数字,就提示,数字小了,继续猜
- 如果等于该数字,就提示猜对了,结束程序
案例分析:
- 随机生成一个 1 ~ 10 的整数 我们需要用到 Math.random() 方法。
- 需要一直猜到正确为止,所以一直循环。
- 用 while 循环更合适更简单。
- 核心算法:使用 if else if 多分支语句来判断大于、小于、等于。