目标
- 能够说出什么是内置对象
- 能够根据文档查询指定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。
官网:developer.mozilla.org/zh-CN/
2.2 如何学习对象中的方法
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过demo进行测试
3.Math对象
MDN文档:developer.mozilla.org/zh-CN/docs/…
Math数学对象 不是一个构造函数,所以不需要new来调用,而是直接使用里面的属性和方法即可。
console.log(Math.PI);// 一个属性 圆周率
console.log(Math.max(1,99,33));
console.log(Math.max(-1,-10));
console.log(Math.max(1,99,'刘德华'));// NaN
console.log(Math.max());// -Infinity
3.1 Math概述
Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值、取整、最大值等)可以使用Math中的成员。
Math.PI; // 圆周率
Math.floor(); // 向下取整
Math.ceil(); // 向上取整
Math.round(); // 四舍五入版就近取整 注意 -3.5 结果是 -3
Math.abs(); // 绝对值
Math.max();/Math.min() //求最大和最小值
3.2 随机数方法random()
- Math对象随机数方法random() 返回一个随机的小数0 =< x <1
- 这个方法里面不跟参数,返回一个浮点类型的随机小数
- 代码验证
console.log(Math.random());
- 得到两个数之间的随机整数 并且包含这两个数
Math.floor(Math.random() * (max - min + 1)) + min;
4. 日期对象
4.1 Date概述
- Date对象和Math对象不一样,他是一个构造函数,所以我们需要实例化后才能使用
- Date实例用来处理日期和时间
4.2 Date()方法的使用
1.获取当前时间必须实例化
var now = new Date();
console.log(now);
2.Date()构造函数的参数
如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为'2019-5-1',可以写成new Date('2019-5-1'),或者new Date('2019/5/1')
4.3 日期格式化
我们想要2019-8-8 8:8:8格式的日期,要怎么办?
需要获取日期指定的部分,所以我们要手动的得到这种格式。
4.4 获取日期的总的毫秒形式
Date对象是基于1970年1月1日(世界标准时间)起的毫秒数。 我们经常利用总的毫秒数来计算时间,因为它更精确。
- 通过 valueOf() getTime()
var date = new Date();
console.log(date.valueOf()); // 当前时间距离1970.1.1的毫秒数
console.log(date.getTime());
- 简单的写法(常用)
var date1 = +new Date(); // 返回的就是总的毫秒数,是最常用的写法
console.log(date1);
- H5 新增的 获得总的毫秒数
console.log(Date.now());
5.数组对象
5.1 数组对象的创建
创建数组对象的两种方式
- 字面量方式
- new Array()
5.2 检测是否为数组
- instanceof 运算符 它可以用来检测是否为数组
var arr = [];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
- Array.isArray(参数); H5新增的方法, ie9以上版本才支持
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
5.3 添加删除数组元素的方法
5.4 数组排序
5.5 数组索引
注意:
- indexOf()是从前往后查,查到一个就返回,查不到返回-1
- lastindexOf()是从后往前查,查到一个就返回,查不到返回-1
5.6 数组转换为字符串
5.7 课下查询(删除指定的数组元素)
- slice()和splice目的基本相同,建议同学们重点看下splice()
6.字符串对象
6.1 基本包装类型
为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String、Number和Boolean。 基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据就有了属性和方法。
// 下面代码有什么问题?
var str = 'andy';
console.log(str.length);
按道理数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是因为jsh会把基本数据类型包装成为复杂数据类型,其执行过程如下:
// 1. 生成临时变量,把简单数据类型包装为复杂数据类型
var temp = new String('andy');
// 2. 把临时变量的值 给 str
str = temp;
// 3. 销毁这个临时变量
temp = null;
6.2 字符串的不可变
指的是里面的值不可变,虽然内容看上去可以改变,但其实改变的是地址,内存中新开辟了一个内存空间。
var str = 'andy';
console.log(str);
str = 'red';
console.log(str);
// 因为我们字符串的不可变所以不要大量的拼接字符串
var str = '';
for (var i = 1; i <= 10000000; i++) {
str += i;
}
console.log(str);// 这个结果需要花费大量的时间来显示,因为需要不断的开辟新的空间
6.3 根据字符返回位置
字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。
6.4 根据文字返回字符(重点)
6.5 字符串操作方法(重点)
6.6 课下查阅
- toUpperCase() // 转换大写
- toLowerCase() // 转换小写
6.7 字符串拆分
split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
str.split('指定字符');
6.8 includes()
includes() 方法验证字符串当中是否包含有特定字符串,有则返回true, 没有返回false;
str.includes('特定字符串');