总结|JavaScript内置对象总结

内置对象

  • JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象。
  • 前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象,属于我们JS独有的。
  • 内置对象就是指JS语言自带的一些对象,这些对象供开发使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。
  • 内置对象最大的优点就是帮助我们快速开发。
  • JavaScript提供了多个内置对象,Math、Date、Array、Srting等。
Math对象 ??Math:是一个内置对象,它具有数字常数和函数的属性和方法。不是一个函数对象。
??Math数学对象不是一个构造函数,所以我们不需要new来调用,而是直接使用里面的属性和方法即可。
1.Math概述 ??Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值、取整、最大值等)可以使用Math中的成员。
Math.PI 圆周率
Math.floor ( ) 向下取整
Math.ceil ( ) 向上取整
Math.round ( ) 四舍五入,就近取整
Math.abs ( ) 绝对值
Math.max ( ) / Math.min ( ) 求最大值和最小值
  • 绝对值方法:包含了隐式转换,会把字符串型的数字转换为数字型。
2.随机数方法 random()
  • Math对象随机数方法
    ??random()返回一个随机的小数。??0 <= X < 1
  • 这个方法里面不跟参数
  • 代码验证
console.log (Math.random());

  • 想要得到两个数之间的随机整数,并且包含这两个整数的代码如下:
Math.floor (Math.random() * (max - min + 1)) + min;

应用实例:
function getRandom (min , max) { return Math.floor (Math.random() * (max - min + 1)) + min; } console.log (getRandom ( 1 , 10 ));

日期对象 Date概述 ??Date对象和Math对象不一样,它是一个构造函数,所以需要实例化后才能使用。
??Date实例用来处理日期和时间。
Date()方法的使用 ??1.获取当前时间必须实例化:
var now = new Date (); console.log (now);

??2.Date()构造函数的参数。
???如果括号里有时间,就返回参数里的时间。
???例如日期格式字符串"2021-6-1",
???可以写成 new Date (“2021-6-1”)
???或者 new Date (“2021/6/1”)
日期格式化
方法名 说明 代码
getFullYear() 获取当年 dObj.getFullYear()
getMonth() 获取当月(0-11) dObj.getMonth()
getDate() 获取当天日期 dObj.getDate()
getDay() 获取星期几(周日0到周六6) dObj.getDay()
getHours() 获取当前小时 dObj.getHours()
getMinutes() 获取当前分钟 dObj.getMinutes()
getSeconds() 获取当前秒钟 dObj.getSeconds()
获取日期的总毫秒形式 ??获得Date总的毫秒数:时间戳
??是距离1970年1月1日过了多少的毫秒数
??1.通过valueOf(),getTime()
var date = new Date (); console.log (date.valueOf()); console.log (date.getTime());

??2.简单的写法(常用!
var date1 = +new Date(); //+new Date()返回的就是总毫秒数。

时间戳转换为时分秒的公式如下:
d = parselnt (总秒数/60/60/24); //计算天数 h = parselnt (总秒数/60/60%24); //计算小时 m = parselnt (总秒数/60%60); //计算分数 s = parselnt (总秒数%60); //计算当前秒数

数组对象 数组对象的创建 【总结|JavaScript内置对象总结】??创建数组对象的两种方式
  • 字面量方式
  • new Array()
检测是否为数组 ??有两种方法可以检测:
  • instanceof 运算符,它可以用来检测是否为数组。
  • Array.isArray(参数);
添加删除数组元素的方法
方法名 说明 返回值
push(参数1 …) 末尾添加一个或多个元素,注意修改原数组 并返回新的长度
pop() 删除数组最后一个元素,把数组长度减1,无参数。修改原数组 返回删除的元素值
unshift(参数1 …) 向数组的开头添加一个或更多元素,注意修改原数组 并返回新的长度
shift() 删除数组的第一个元素,数组长度减1,无参数,修改原数组 并返回第一个元素的值
  • push()在数组的末尾添加一个或者多个数组元素
    ??1.push是可以给数组追加新的元素。
    ??2.push()参数直接写数组元素就可以了。
    ??3.push完毕之后,返回的结果是新数组的长度
    ??4.原数组也会发生变化。
var arr =[1,2,3]; console.log (arr.push(4,"pink"));

  • unshift在数组的开头添加一个或者多个数组元素
    ??1.unshift是可以给数组前面追加新的元素。
    ??2.unshift()参数直接写数组元素就可以了。
    ??3.unshift完毕之后,返回的结果是新数组的长度。
    ??4.原数组也会发生变化。
console.log (arr.unshift ("red","purple"));

  • pop() 可以删除数组的最后一个元素
    ??1.pop是可以删除数组的最后一个元素,一次只能删除一个元素。
    ??2.pop()没有参数。
    ??3.pop完毕之后,返回的结果是 删除的那个元素。
    ??4.原数组也会发生变化。
console.log (arr.pop());

  • shift() 可以删除数组的第一个元素
    ??1.shift是可以删除数组的第一个元素,一次只能删除一个元素。
    ??2.shift()没有参数。
    ??3.shift完毕之后,返回的结果是 删除的那个元素。
    ??4.原数组也会发生变化。
console.log (arr.shift());

数组排序
  • 翻转数组
    ?数组名.reverse() ?颠倒数组中元素的顺序,无参数。 会改变原数组,返回新数组。
  • 数组排序(冒泡排序)
    ?数组名.sort()?对数组的元素进行排序。会改变原数组,返回新数组。
var arr1 = [13 , 4 , 77 , 1 , 7 ]; arr1.sort (function (a , b)) { return a - b; //升序的顺序排列 return b - a; //降序的顺序排列 }

数组索引方法
  • indexOf () 数组中查找给定元素的第一个索引?如果存在,则返回索引号,如果不存在,则返回-1。
    返回数组元素索引号方法:indexOf(数组元素)
    作用就是返回该数组元素的索引号,从前面开始查找,只返回第一个满足条件的索引号。
  • lastIndexOf
    如果存在,则返回索引号,如果不存在,则返回-1。
    返回数组元素索引号方法:lastIndexOf(数组元素)
    作用就是返回该数组元素的索引号,从后面开始查找。
数组转换为字符串
  • toString () 把数组转换为字符串,逗号分隔每一项。返回一个字符串
  • join(“分隔符”) 把数组中的所有元素转换为一个字符串。返回一个字符串。可以自定义分隔符。
字符串对象 基本包装类型 基本包装类型就是把简单数据类型包装成为复杂数据类型,这样就有了属性和方法。
var str = "andy"; console.log (str.length); //基本数据类型是没有属性和方法的,而对象才有属性和方法。 //这是因为JS会把基本数据类型包装为复杂数据类型。 //执行过程如下: //1.生成临时变量,把简单类型包装为复杂数据类型。var temp = new string ("andy"); //2.赋值给声明的字符变量。str = temp; //3.销毁临时变量。temp = null;

字符串的不可变 ??指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了。
??重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变。
??由于字符串的不可变,在大量拼接字符串的时候会有效率问题。
根据字符返回位置 ??字符串所有的方法,都不会修改字符串本身。(字符串是不可变的)
??操作完会返回一个新的字符串。
  • indexOf(”要查找的字符“,[开始的位置])
    返回指定内容在原字符串中的位置,如果找不到就返回-1,开始的位置是index索引号。
  • lastIndexOf()
    从后往前找,只找第一个匹配的。
根据位置返回字符(重点!!) 1.charAt(index)
?说明:返回指定位置的字符(index 字符串的索引号)
?使用:str.charAt ( 0 )
?遍历字符案例:
var str = "abc"; for (var i = 0; i < str.length; i++) { console.log (str.charAt(i)); }

2.charCodeAt (index)
?说明:获取指定位置外字符的ASCII码(index索引号)
?使用:str.charCodeAt ( 0 )
?目的:判断用户按下了哪个键。
3.str [ index ]
?说明:获取指定位置外字符
?使用:HTML5新增的,IE8+支持和charAt()等效。
字符串的操作方法(重点!!
  • concat(str1,str2,str3…)
    说明:concat()方法用于连接两个或多个字符串。拼接字符串,等效与+,+更常用。
  • substr(start//截取的起始位置,length//截取几个字符); ?重点
    说明:从start位置开始(索引号),length取的个数。
  • slice (start,end)
    说明:从start位置开始,截取到end位置,end取不到(都是索引号)
  • substring(start,end)
    说明:从start位置开,截取到end位置,end取不到,基本和slice相同,但是不接受负值。
1.替换字符
?replace(”被替换的字符“,”替换为的字符“)?只会替换第一个字符。
var str = "abcabc"; console.log (str.replace ("a","d"));

?如果要把某字符串里的所有某字符换掉可以用while循环,如下:
var str1 = "abcoefoxyozzopp"; while (str1.indexOf("o") !== -1 ) { str1 = str1.replace ("o","h"); }

2.字符转换为数组
?split(”分隔符“)?join把数组转换为字符串。
var str = "red , pink , blue"; str.split(",");

toUpperCase () ? // 转换大写
to owerCase () ? //转换小写

    推荐阅读