1.内置对象的定义
JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象,自定义对象就是自己写的对象,内置对象是指JS语言自带的一些对象
1. instanceof 运算符
instanceof 运算符,可以判断一个对象是否属于某种类型
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // 结果是true
console.log(obj instanceof Array); // 结果是false
2.math对象
Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 的一些方法。
Math.PI // 圆周率
Math.floor() // 向下取整,例如4.3 结果是4,取小于这个数的最大的整数
Math.ceil() // 向上取整 例如4.3 结果是5 ,取大于这个数的最小的整数
Math.round() // 四舍五入版 就近取整 注意 -4.5 结果是 -4
Math.abs() // 绝对值
Math.max() // 求最大值
Math.min() //求最小值
Math.random() //取0-1之间的随机数 0 <= 值< 1
3.日期对象 Date
Date是一个构造函数,所以我们需要实例化后才能使用
实例化:var now = new Date(); // 本地时间
console.log( now ); //打印出来是Sat Jul 17 2021 06:14:47 GMT+0800 (中国标准时间) 本地时间
console.log( now.toLocaleString() )// 2021/7/25上午10:06:23 本地时间
console.log( now.toTimeString() )// 06:14:47 GMT+0800 (中国标准时间), 本地时间
console.log( now.toLocaleTimeString() ) //上午10:33:34 , 本地时间
console.log( now.toUTCString() ) //Sat, 17 Jul 2021 02:35:13 GMT 国际时间
console.log( now.getTime() ) // 时间戳,从 1970年01月01日00时00分00秒 到现在的毫秒数
console.log(date.valueOf()) // 时间戳,从 1970年01月01日00时00分00秒 到现在的毫秒数
console.log( now.getYear() ) // getYear获得的时间是从1900开始的,结果是121(现在是2021年)
console.log( now.getYear() +1900) // 结果是2021(现在是2021年)
console.log( now.getFullYear() ) //结果是2021(现在是2021年)
console.log( now.getMonth() + 1) //结果是7(现在是2021年7月),月份,加一是因为得到的结果是0-11
console.log( now.getDay() ) //结果是6,星期几,得到的结果是0-6,周日是0
console.log( now.getDate() ) //得到的结果是几号
console.log( now.getHours() ) //得到的结果是几点
console.log( now.getMinutes() ) //得到的结果是分钟
console.log( now.getSeconds() ) //得到的结果是秒
4.数组对象其他链接有写,不重复写了
5.字符串对象
5.1基本包装类型
基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。
var str = 'andy';
console.log(str.length);// 4
按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是因为 js 会把基本数据类型包装为复杂数据类型,其执行过程如下 :
// 1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
// 2. 赋值给我们声明的字符变量
str = temp;
// 3. 销毁临时变量
temp = null;
5.2字符串的不可变
var str = 'abc';
str = 'hello';
// 当重新给 str 赋值的时候,常量'abc'不会被修改,依然在内存中只是会重新给字符串赋值,在内存中开辟空间,这就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
var str = ''; for (var i = 0; i < 100000; i++) {
str += i;
}
console.log(str); // 这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间
5.3字符串中某个字符的位置
5.4根据位置返回字符
5.5 字符串操作方法
5.6 replace()方法 ,一些字符替换另一种字符
replace(被替换的字符串, 要替换为的字符串);只能替字符串里面第一个这个字符
5.7 split()方法
split()方法用于切分字符串,它可以将字符串切分为数组。在切分完毕之后,返回的是一个新数组。
var str = 'a,b,c,d';
console.log(str.split(',')); // 返回的是一个数组 [a, b, c, d]
var str1='我是中华人民共和国共产主义接班人‘
console.log(str.split('是')); // 返回的是一个数组 [我,中华人民共和国共产主义接班人]
用哪个字切分那个字就会去掉变成逗号。如果split后面什么也不放,会把字符每个都切分,例如:
var str1='我是中华人民共和国共产主义接班人‘
console.log(str.split('')); // 返回的是一个数组 [我,是,中,华,人,民,共,和,国,共,产,主,义,接,班,人]