持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情
上文对JS的对象进行了介绍,而JS中有内置对象,顾名思义就是JS内嵌的对象,其中封装着方法和变量,可以让我们更加方便编程,接下来,我们来讲讲JS 的一些内置对象,以及内置对象的方法
内置对象
JS中对象分成3种:自定义、内置、浏览器对象
(第三个在JS API学到)
- 内置对象是指JS语言自带的一些对象,提供了一些常用或是最基本且必要的功能
- Math、Date、Array、String等
MDN可查
Array对象
-
常用属性: length
-
常用方法_
-
concat()连接数组
arrayObject.concat(arrayX, arrayX...);a.concat(b,c);
-
-
splice()删除或替换当前数组某些项目arrayObject.splice(start, deleteCount, options);
位置 数量 替换的数组(可不加)
String对象
-
常用属性: length
-
常用方法:
charAt()// 获取指定位置字符 -
oncat()连接字符串
Math 对象
非构造函数
具有数字常数和函数的属性和方法(求绝对值, 取整., 最大值等)
Math.PI
Math.floor() //向下取整
Math.ceil() //向上取整
Math.round() //四舍五入版 就近取整
Math.abs() //绝对值
Math.max()/Math.min()
random函数 随机返回一个小数
若想得到一个两数之间的 随机整数(包括本身)
function getRandom(min, max){
return Math.floor(Math.random() * (max - min + 1 )) + min;
}
Date 对象
- 是一个构造函数,需要对象实例化才可使用
- 用来处理日期和时间
-
获取当前时间
var now = new Date(); console.log(now); -
Date()构造函数的常数
若括号内有时间,则返回参数里面的时间
-
日期格式化
想要
2022-5-25 20:28:45的格式?我们需要手动获取日期指定部分方法名 说明 getFullYear() 当年 getMonth() 当月 getDate() 当日 getDay() 星期 getHours() 小时 getMinutes() 分钟 getSeconds() 秒钟
数组对象
两种方式
- 字面量
new Array()
检测是否为数组
instanceof运算符- Array.isArray()
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false
添加删除数组元素的方法
push(参数1...) 末尾添加一个或多个元素,修改原数组 并返回新的长度
pop() 删除数组最后一个元素.数组长度减1 返回它删除的元素的值
unshift(参数1...) 向数组的开头添加一个或多个元素,修改原数组 返回新长度
shift() 删除数组的第一个元素,数组长度减1,修改原数组 返回第一个元素的
数组排序
reverse() 颠倒数组中元素的顺序,无参数 改变原来的数组,返回新数组
sort() 对数组的元素进行排序 改变原来数组,返回新数组
var arr = [1, 64, 9, 6];
arr.sort(function(a,b){
return b - a; //降a序
//return a -b ; //升序
});
arrayObject.sort(sortby)l;
sortby 是可选的,必须是函数,如果没有参数将会按字母顺序排序,准确来说按字母编码
数组索引方法
indexOf() 数组中查找给定元素的第一个索引 存在则返回索引号,不存在则返回-1
indexOf区分大小写
lastindexOf() 在数组中的最后一个的索引 存在则返回索引号,不存在则返回-1
数组转换为字符串
toString 把数组换成字符串,逗号分隔 返回一个字符串
join('分隔符') 用于把数组中所有元素转换为一个字符串 返回一个字符串
其他
字符串对象
1. 基本包装类型
把简单数据类型包装成复杂数据类型,这样基本数据类型就有了属性和方法
为了方便操作,JS提供了三个特殊应用类型,String Number Boolean
代码:
var str = 'andy';
console.log(str.length);
执行过程:
// 1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
// 2. 赋值给我们声明的字符变量
str = temp;
// 3. 销毁临时变量
temp = null;
2. 字符串的不变性
指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间
var str = 'abc';
str = 'hello';
// 当重新给 str 赋值的时候,常量'abc'不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
var str = '';
for (var i = 0; i < 100000; i++) {
str += i;
}
console.log(str); // 这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间
3. 根据字符返回位置
字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串
4. 根据位置返回字符
5. 字符串操作方法
6. replace()方法
用于在字符串中用一些字符替换另一些字符
语法:
replace(被替换的字符串, 要替换为的字符串);
只能替换第一个出现的字符串
可以用全局替换,
string.replace(/study/g, 'sleep');
7. split()方法
用于切分字符串,可以将字符串切分成数组,返回一个新数组
var str = 'a,b,c,d';
console.log(str.split(',')); // 返回的是一个数组 [a, b, c, d]
8.
toUpperCase() 大写
toLowerrCase() 小写