JavaScript 这些内置对象你都知道嘛?
目录:
1、JS对象介绍
JS中的对象总共分为三种,自定义对象、内置对象和浏览器对象。自定义对象和内置对象是JS的基础对象,属于ECMAScript,而浏览器对象属于JS独有的,在之后的Web API中我将带领大家专门学习。
2、学习对象的使用
学习JavaScript内置对象,需要查询文档,在学习一个内置对象的时候,只需要根据文档学会其内部成员的使用方法即可。
**MDN Web文档:**https://developer.mozilla.org/zh-CN/docs/Web
3、JS中的内置对象
根据JS API(Application Program Interface),开发文档说明,讲解的JS内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或者最基础、最必要的功能,包括常用的属性和方法……等。而JavaScript内置的对象包括,Math、Date、Array、String……等。那么内置对象最大的优点是能够极大的帮助开发人员提高开发效率。
注意:
如果一个对象的方法所需的参数指定了类型,在使用方法的时候传入的参数类型和所需类型不符,则内置函数一般都会自动处理好,但也有可能抛出异常。
3.1 Math 对象
3.1.1 介绍
Math是一个内置对象,他拥有一些数学常用数学属性和数学 函数方法,Math不是一个函数对象,所以使用前不需要进行实例化 操作。Math用于Number类型,它不支持BigInt。
3.1.2 常用属性
- Math.PI:圆周率,一个圆的周长和直径之比,约等于3.14159
//输出圆周率
console.log(Math.PI);
//输出结果为:
04-PI圆周率.html:13 3.141592653589793
3.1.3 常用方法
- abs():求一个数字的绝对值。
<script>
window.onload = function() {
var value = Math.abs(-20);
console.log(value);
}
</script>
- ceil():向上取整,如果这个数的本质是整数,则返回自身;如果是小数,则返回比这个小数整数部分大1的整数;如果是负数,那么返回去掉小数部分的负整数。
<script>
window.onload = function() {
var value = Math.ceil(5.21);
console.log(value);
}
</script>
- floor():向下取整,如果这个数的本质是整数则返回自身;如果是小数则返回这个小数的整数部分;如果是负数,则直接返回比整数部分小1的负整数。
<script>
window.onload = function() {
var value = Math.floor(2.69);
console.log(value);
}
</script>
- round():四舍五入,就近取整,如-3.5结果是-3
<script>
window.onload = function() {
var value = Math.round(7.56);
console.log(value);
}
</script>
- max():求数字的最大值
<script>
window.onload = function() {
var value = Math.max(7, 29, 1, 0, 324);
console.log(value);
}
</script>
- min():求数字的最小值
<script>
window.onload = function() {
var value = Math.min(7, 29, 1, 0, 324);
console.log(value);
}
</script>
- random():获取0-1之间的随机小数,包前不包后,即可以随机到0,但是随机不到1
//随机0-10之间的整数
Math.round(Math.random()*10
// 指定一个范围整数取随机整数,并且要求包含这两个整数
// 例如:求5-12之间的随机数
function randomNum(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
console.log(randomNum(5,12));
3.2 Date 对象
3.2.1 介绍
Date对象和Math对象不一样,Date是一个构造函数,所以要想使用该对象,则必须先进行实例化,否则将不能使用它的属性和方法。Date对象主要用来处理日期和时间……等。
3.2.2 实例化Date对象
//实例化Date对象
var date = new Date();
//实例化Date对象,并获取指定时间的日期对象
var date = new Date("年,月,日");
//注意:参数写法
1、"2020,11,18"
2、"2020/11/18"
3、2020,11,18
3.2.3 常用方法
- getFullYear():获取当前对象的年份部分
- getMonth():获取当前对象的月份(0-11),所以正确的月份应该+1
- getDay():获取当前对象的星期数(0-6),0代表周天
- getDate():获取当前对象的天数
- getHours():获取当前的小时数(24小时)
- getMinutes():获取当前时间的分钟数
- getSeconds():获取当前对象的秒数
- getMilliseconds():获取当前时间的毫秒数
- getTime():获取从1970-1-1(世界标准日)开始计时的毫秒数
3.2.4 总结
- 在方法中以 get 开头的方法一般都是获取某些数据的方法
- 以 set 开头的方法一般都是设置某些数据的方法
- 以 to 开头的方法一般都是将这些数据的类型转换为目标类型的方法
3.3 Array 对象
3.3.1 介绍
Array对象用于构造数组的全局对象
3.3.2 创建数组
- 字面量创建
var 数组名 = [];
- 构造创建
var 数组名 = new Array();
//注意:
以上方式创建的数字都是一个空数组,如果要使用Array对象创建一个非空的数组,则需要给Array对象实例化时添加参数
1、一个参数:指定这个数组的长度,并且元素的值全部为undefined
2、多个参数:参数充当数组的元素
3.3.3 检测数组
- instanceof 运算符
//instanceof运算符可以判断一个对象是否是某个构造函数的实例
变量 instanceof 构造对象
1、只要这个变量等号之后是以构造函数的执行方式赋予的这个类型,则返回结果为true,否则返回false
2、数组的字面量创建方式默认是执行了一个构造函数
- isArray()方法
Array.isArray(数组名);
3.3.4常用方法
-
push(参数1~n):向数组的末尾添加一个或多个元素,返回结果为添加完元素之后的长度
-
pop():从数组的最后一个元素开始删除,数组的长度-1,返回删除的该元素值
-
unshift(参数1~n):从数组的开头添加一个或多个元素,返回结果为加完之后的长度
-
shift():从数组的第一个元素开始删除,将数组的长度每执行一次-1,返回删除的这个元素值。
-
reverse():反转数组中的元素顺序,并且返回一个新数组
-
sort():对数组中的元素进行排序,会改变原来数组中的元素顺序,并且返回一个新数组
1、升序:数组名.sort(function(a,b){return a-b;});
<script> window.onload = function() { var arr = [324, 454, 765, 3, 2]; console.log(arr.sort(function(a, b) { return a - b; })) } </script>
2、降序:数组名.sort(function(a,b){return b-a;});
<script> window.onload = function() { var arr = [324, 454, 765, 3, 2]; console.log(arr.sort(function(a, b) { return b - a; })) } </script>
-
indexOf():在数组中查找指定元素第一次出现的索引,如果不存在则返回-1
-
lastindexOf():在数组中查找最后指定元素最后一次出现的索引,如果不存在则返回-1
-
toString():将数组转换为字符串,元素之间使用,逗号隔开
-
join():将数组中的所有元素转换为一个字符串,元素之间使用指定的分隔符进行连接,如果不给参数,则默认是,逗号
-
concat():连接一个或多个数组与元素,并返回一个新数组
-
slice(start,end):在原数组中从satrt开始截取元素,到end结束,不包含end,返回截取的一个新的数组
-
splice(start,count):删除数组中从start开始的count个元素,返回结果为删除的元素所组成的新数组
3.4 String 对象
3.4.1 字符串不可变
字符串不可变指定是字符串变量声明之后,其值不会发生改变,虽然看上去变量的内容发生了改变,但其实质是这个变量指向的地址发生改变了,也就是存储这个新内容的空间是一个新的地址空间。
3.4.2 常用方法
- charAt(index):返回指定索引位置的字符,与使用索引方式获取一样
- charCodeAt(index):返回指定索引位置字符的ASII值
- fromcharCode():返回数字对应的ASII码值
- endsWith():从指定的位置开始查找只当的字符串,如果查到返回true,否则返回false
- includes():从指定的位置开始查找指定的字符,查到返回true,否则返回false
- replace():将原字符串中只当的字符替换成新的字符
- substring(start,end):在原字符串从start位置开始截取到end,不包含end
- substr(star,count):在原字符串中从start位置开始截取count个字符
- toUpperCase():将字符串中的字母转换成大写字母
- tolowerCase():将字符换中的字母转换成小写