JS中的对象分为3种:自定义对象、内置对象、浏览器对象
前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的;
内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供一些常用的或是最基本而必要的功能(属性和方法 ),程序员不用管具体怎么实现,直接使用就可以了。帮助我们快速开发
JS中提供了多个内置对象:Object,Function,Array、Math、Date、String、Boolean、Number,REX等
参考文档:JavaScript 标准内置对象 - JavaScript | MDN
1.1、Math对象
Math和其他的对象不同,它不是一个构造函数,它属于一个工具类,不用创建对象,它里面封装了数学运算相关的属性和方法
比如
Math.PI表示圆周率
Math.abs()可以用来计算一个数的绝对值
Math.ceil() 可以用来对一个书向上取整,小数位只要有值,就自动进1
Math.floor() 可以对一个数进行向下取整,小数部分会被舍掉
Math.round() 可以对一个数进行四舍五入取整,其他数字都是四舍五入,但.5特殊,它往大了取,1.5取成2,-1.5取-1
Math.random() 可以生成一个0-1之间的随机数(左闭右开,能取0,取不到1)
-生成一个0-x之间的随机数Math.round(Math.random()*x)
-生成一个x-y之间的随机数Math.floor(Math.random()*(y-x+1)+x
Math.max() 可以获取多个数中的最大值
Math.min() 可以获取多个数中的最小值
Math.pow(x,y) 返回x的y次幂
Math.sqrt() 对一个数进行开方运算
1.2、Date对象
在js中使用Date它是一个构造函数,所以必须要实例化后才能使用,用来处理日期和时间
1.2.1、创建一个Date对象
直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
var d = new Date();
1.2.2、创建指定的时间对象
需要在构造函数中传递一个表示时间的字符串或数字作为参数
日期的格式三种写法:如下:
var d2 = new Date("10/23/2023 9:00:00");//字符串型
var d4 = new Date("2023-11-09 8:59:00");//字符串型
var d3 = new Date(2023, 11, 9);//数字型
1.2.3、时间对象的方法
getFullYear()-获取当前日期对象的年份
getMonth() -获取当前时间对象的月份
-会返回一个0-11的值 0表示1月,1表示2月,11表示12月,要返回的月份上+1
getDate()-获取当前日期对象是几号(1-31)
getDay()-获取当前日期对象是周几
-会返回一个0-6的值,0表示周日 1表示周一,6表示周六
getHours() 获取当前小时
getMinutes() 获取当前分钟
getSeconds()获取当前秒钟
时间戳
时间戳,指的是从格林威治标准时间的1970年1月1日0时:0分:0秒到当前日期所花费的豪秒数
1s=1000ms,计算机底层在保存时间时,使用的都是时间戳,
获取时间戳
- getTime() -获取当前日期对象的时间戳 nowTime.getTime()
- Date.now() 获取当前代码执行时的时间的时间戳
- nowTime.valueOf() 获取当前日期对象的时间戳
var nowTime = new Date();
//获取当前的时间戳(4种方法)
var time = +new Date();
var time1 = Date.now();//h5新增的
var time2 = nowTime.valueOf();
var time3 = nowTime.getTime();
//利用时间戳来测试代码的执行的性能
var start = Date.now();
var end = Date.now();
// console.log("执行了" + (end - start));
1.3、基本包装类
基本数据类型:String Number Boolean Null Undefined
引用数据类型:Object
1.3.1、包装类
在js中为我们提供了三个包装类,通过这三个包装类可以基本数据类型转换为对象
String() 可以将基本数据类型字符串转换为String对象
Number() 可以将基本数据类型数字转换为Number对象
Boolean() 可以将基本数据类型布尔值转换为Boolean对象
注意:我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时,会带来一些不可预估的结果
注意:方法和属性只能添加给对象,不能添加给基本数据类型,当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性跟方法调用完以后,再将其转换为基本数据类型
1.3.2、字符串方法
(1)、length属性
可以获取字符串的长度
var str = "hello";
/* 在底层字符串是以字符数组的形式保存的 ["h","e","l","l","o"] */
console.log(str.length); //5
(2)、charAt()
可以返回字符串中指定位置的字符,根据索引获取指定的字符
var str = "hello";
var res = str.charAt(0); //h
console.log(str[0]); //h
(3)、concat()
-可以用来连接两个或者多个字符串
-作用和+一样
var str = "hello";
res = str.concat(",你好", ",再见"); //hello,你好,再见
(4)、indexof()
-该方法可以检索一个字符串中是否含有指定内容
-如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1
-可以指定第二个参数,指定开始查找的位置
var str = "hello";
res = str.indexOf("p"); //-1
(5)、 lastIndexOf()
-该方法的用法和indexOf()一样,不同的是lastIndexOf是从后往前找
var str = "hello";
res = str.lastIndexOf("l"); //3
(6)、 slice()
可以从字符串中截取指定的内容
不会影响原字符串,而是将截取到的内容返回
参数:
- 第一个,开始位置的索引(包括开始位置)
- 第二个,结束位置的索引(不包括结束的位置)
如果省略第二个参数,则会截取后边所有的
也可以传递一个负数作为参数,负数的话将会从后边计算
var str = "hello";
res = str.slice(0, 2); //he
(7)、substring()
用来截取一个字符串,跟slice()类似
参数:
- 第一个,开始位置的索引(包括开始位置)
- 第二个,结束位置的索引(不包括结束的位置)
如果省略第二个参数,则会截取后边所有的,跟slice()不同的是这个方法不能接收负值作为参数
如果传递了一个负值,则默认使用0,而且他还会自动调整参数的位置,如果第二个参数小于第一个,则自动交换
(8)、substr()
用来截取字符串
参数:
- 1:截取开始位置的索引
- 2:截取的长度
var str = "hello";
res = str.substr(0, 3); //hel
(9)、 split()
可以将一个字符串拆分为一个数组
参数
- 需要一个字符串作为参数,将会根据该字符串去拆分数组
- 如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素
(10)、replace('被替换的字符','替换为的字符')
它只会替换第一个字符
(11)、 toUpperCase()
将一个字符串转换为大写并返回
var str = "abc,bcd,efg,hij";
res = str.toUpperCase();
(12)、 toLowerCase()
-将一个字符串转换为小写并返回
<script>
var str = "ABCDEFG";
res = str.toLowerCase();
console.log(res);
</script>
标签:对象,Date,var,字符串,math,str,date,Math
From: https://blog.csdn.net/m0_63346819/article/details/143889818