内置对象
JS中对象有三种:自定义对象、内置对象、浏览器对象
前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于 JS 独有的, JS API 讲解内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助我们快速开发
JS中的内置对象有:Math,Date,String,Array等
Math对象
注意:Math对象不是构造函数,math对象的属性和方法跟数学中的常熟和运算相关
属性、方法名 | 功能 |
---|---|
Math.PI | 圆周率 |
Math.floor() | 向下取整 |
Math.ceil() | 向上取整 |
Math.round() | 四舍五入版 就近取整 注意 -3.5 结果是 -3 |
Math.abs() | 绝对值 |
Math.max()/Math.min() | 求最大和最小值 |
Math.random() | 获取范围在[0,1)内的随机值 |
Date 日期对象
注意:Date是一个构造函数,用new来创建一个date对象
即需要实例化
var now = new Date(); // 不传入参数返回当前时间对应的日期对象
var date = new Date('2021/6/7'); // 获取指定时间的日期对象
Array 数组对象
var arr1 = new Array(); // 创建数组
var arr2 = []; // 用数组字面量创建数组
instanceof 判断某个对象是否是某个构造函数的实例
console.log(arr1 instanceof Array)
Array.isArray()方法 用于判断一个对象是否是数组 H5提供的方法
console.log(Array.isArray(arr1))
数组常用的方法:
arr.push(num1,num2,...); // 向数组末尾添加元素,改变原数组,返回新的数组长度
arr.pop(); // 删除末尾一个元素,改变原数据,返回删除的元素
arr.unshift(num1,num2,..); // 向开头添加元素
arr.shift(); // 删除开头一个元素
arr.reverse(); // 元素顺序逆序
arr.sort(function(a,b){return a-b;}); // 排序 传入的参数是一个比较函数
arr.indexOf(element); // 查找指定元素的第一个索引 没有返回-1
arr.lastIndexOf(e); // 查找指定元素的最后一个索引 没有返回-1
arr.toString(); // 数组转换成字符串,元素用‘,’分割
arr.join(','); // 数组元素按照传入的分隔符链接成字符串
String 字符串对象
基本包装类型:JS把基本数据类型number string boolean 包装成复杂数据类型,这样基本数据类型就有了属性和方法
JS中提供了三个引用类型:String Number Boolean
注意 :字符串不可变
指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。
当重新给字符串变量赋值的时候,变量之前保存的字符串不会被修改,依然在内存中重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变。 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
字符串常用方法
// 根据元素内容查找索引
str.indexOf('要查找的字符',开始的位置); // 返回指定内容在字符串中的位置
str.lastIndexOf(); // 从后往前找
// 根据索引查找元素
str.charAt(index);
str[index]; // IE8+ H5支持
str.charCodeAt(index); // 返回指定位置字符的ASCII值
str.replace('被替换的部分','新的内容')
str.split('分隔符')
str.concat(str1,str2);// 拼接字符串
str.substr(start,length); // 截取从start位置开始的长度为length的字串
str.slice(start,end); // 截取从start开始end结束的字串 end娶不到
str.substring(start,end); // 基本和slice一样 不接收负值