Day10 JavaScript 内置对象
JavaScript 内置了很多构造函数,如 Array、Number、String、Boolean、Function、Object 等。
内置构造函数的实例,称为内置对象。
内置构造函数本身的属性和方法以及内置构造函数实例的属性和方法。
Array.from(); // 构造函数本身的属性
var arr = [];
[].push();
arr.push(); // 实例的属性
内置对象的在线文档(MDN):
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects
1 Boolean
// 第一种直接量方式
var b1 = true;
// 第二种 Boolean 函数方式
var b2 = Boolean(true);
// 第三种方式 Boolean 构造函数方式
var b3 = new Boolean('');
2 Number
1123;
Number();
new Number();
① 实例的属性和方法
toFixed() 保留指定位数的小数,返回字符串,参数指定小数位数,不指定默认取整
toString() 转为字符串,可以指定进制
② 构造函数本身的属性和方法
Number.MAX_VALUE JS中可以表示的最大的数字
Number.MIN_VALUE JS中可以表示的最小的数字
3 String
① 实例的属性和方法
length 返回字符串的长度(只读)
charAt() 根据指定的索引返回对应的字符
indexOf() 返回指定值在字符串中第一次出现的位置
lastIndexOf() 返回指定值在字符串中最后一次出现的位置
slice() 截取字符串,第一个参数开始索引,第二个参数结束索引(不会截取),不指定第二个参数截取到最后
substring() 同 slice()
substr() 截取字符串,第一个参数开始索引,第二个参数截取长度,不指定第二个参数截取到最后
split() 把字符串分隔为数组,参数设置一个分隔符
toUpperCase() 转为大写
toLowerCase() 转为小写
charCodeAt() 返回指定索引对应的字符的unicode编码。
② 构造函数本身的属性和方法
String.fromCharCode() 根据指定的unicode编码返回对应的字符
4 Math
Math 并不是一个构造函数,是个系统定义好的对象,是 Object 的一个实例。
Math 对的属性和方法:
Math.PI 圆周率
Math.abs() 计算绝对值
Math.sqrt() 计算平方根
Math.pow() 计算次方
Math.floor() 向下取整
Math.ceill() 向上取整
Math.round() 四舍五入取整
Math.max() 取参数中最大的
Math.min() 取参数中最小的
Math.random() 取随机数,范围是0~1之间的小数,0有可能取到的,1没有可能取到。
获取 0 ~ n 之间的随机整数:
Math.floor(Math.random() * (n + 1));
获取 m ~ n 之间的随机整数:
Math.floor(Math.random() * (n - m + 1)) + m;
5 Date
Date 是 JavaScript 内置的构造函数,使用的时候需要进行实例化。
① 实例化日期时间对象
var d1 = new Date();
var d2 = new Date('December 17, 1995 03:24:00');
var d3 = new Date('2008-10-01T10:09:11');
var d4 = new Date(2022, 1, 2, 10, 45, 10);
var d5 = new Date(2022, 1, 2);
② 实例的属性和方法
getFullYear() 年
getMonth() 月,值:0~11
getDate() 日
getDay() 星期几
getHours() 时
getMinutes() 分钟
getSeconds() 秒
getMillseconds() 毫秒
getUTC... 获取零时区的年月日时分秒
getTime() 获取时间戳
set... 设置日期时间
setUTC... 基于零时区设置日期时间
setTime() 使用时间戳设置日期时间
③ 构造函数本身的属性和方法
Date.now(); 获取此时此刻的时间戳,没有参数
Date.UTC(); 获取指定日期的时间戳,参数2~6个
6 Array
① 实例的属性
length 数组的长度,元素的个数,可读可写
② 访问器方法
访问器方法: 对象调用完方法,得到返回值,对象本身不会被改变。
绝大部分的对象的绝大部分方法都是访问器方法。
concat() 合并多个数组
slice() 截取数组中的元素,发返回新数组。 参数是开始索引和结束索引,不设置第二个参数截取到最后
join() 把数组中的元素合并成一个字符串,参数设置分隔符,默认是逗号
③ 修改器方式
修改器方法:对象调用完方法,对象本身也会被修改。
只有数组才有修改器方法。
push() 追加新元素。返回新增元素之后数组的长度。
pop() 删除最后一个元素。返回被删除的元素。
unshift() 数组最前面插入新元素。返回新增元素之后数组的长度。
shift() 删除第一个元素。返回被删除的元素。
splice() 删除、添加、替换元素。返回被删除的元素组成的数组,没有删除就是空数组。
sort() 数组排序。返回排好序的数组。
reverse() 翻转数组。返回翻转之后的数组。
④ ES5 新增的实例的访问器方法
forEach() 遍历数组
filter() 从数组中取出满足条件的元素组成新数组,回调函数返回true,对应的元素加入新数组。
map() 返回长度与原数组一致的新数组,新数组中的元素取决于每次回调函数的返回值。
every() 必须每个回调函数都返回true,该方法才返回true
some() 只要有一个回调函数返回true,该方法就返回true
reduce() 回调函数接收上一次回调的返回值、当前元素、当前索引; 最后一次回调的返回值作为reduce()的返 回值
reduceRight() 相比于 reduce() 从右向左遍历
indexOf() 返回元素在数组中第一次出现的位置,不存在返回 -1。
lastIndexOf() 返回元素在数组中最后一次出现的位置,不存在返回 -1。
7 Function
实例的方法:
call() 调用函数并设置里面的this,call 第二个以后的参数全都传递给函数。
apply() 调用函数并设置里面的this, apply 第二个参数必须是数组,数组的元素作为函数的参数。
bind() 返回一个改变了this和参数的新函数(了解)
课堂小练
1. 'get-element-by-id' 转为 'getElementById'
2. [].forEach.applay 遍历字符串
3. 输出日期时间格式 “2021-03-04 19:02:56”