常用的内置对象

1 Math对象的常用方法

Math 对象用于执行数学任务。

方法名 功能
Math.ceil() 向上取整
Math.floor() 向下取整
Math.max()/Math.min() 求最大和最小值
Math.random() 获取范围在[0,1)内的随机值

简单使用:

  1. <script>
  2. //圆周率
  3. console.log(Math.PI);
  4. //最大值
  5. console.log(Math.max(1,3,9));
  6. //最小值
  7. console.log(Math.min(1,3,9));
  8. </script>

绝对值和取整:

  1. <script>
  2. //绝对值
  3. console.log(Math.abs(-1));
  4. console.log(Math.abs(1));
  5. //取整
  6. console.log(Math.ceil(1.2));//向上取整
  7. console.log(Math.ceil(1.9));
  8. console.log(Math.floor(1.2));//向下取整
  9. console.log(Math.floor(1.9));
  10. console.log(Math.round(1.2));//四舍五入
  11. console.log(Math.round(1.9));
  12. console.log(Math.round(1.5));
  13. </script>

生成随机数:

  1. <script>
  2. //生成0-1之间的随机数 [0,1)
  3. console.log(Math.random());
  4. //生成1-10之间的随机数,包含1和10
  5. //[1,10] --> [0,10) + 1 --> [0,1)*10 + 1
  6. //[50,100] --> [0,51)+50 --> [0,1)*51 + 50
  7. //规律 生成[min,max]的随机数(包含min和max)
  8. //Math.floor(Math.random()*(max-min+1) + min)
  9. /* 1-199 */
  10. console.log(Math.floor(Math.random()*199+1));
  11. </script>

应用:

  1. <script>
  2. /* 随机生成一个女孩的年龄(18-28之间)
  3. 让男生一直猜,提示:猜大了或者猜小了
  4. 当猜对了,就退出程序 */
  5. //console.log(getAge(18,28));
  6. //生成年龄
  7. var girlAge = getAge(18,28)
  8. //循环
  9. while(true){
  10. var age = prompt('请猜一下我的年龄')
  11. //判断
  12. if(age > girlAge){
  13. alert('猜大了')
  14. }else if(age < girlAge){
  15. alert('猜小了')
  16. }else{
  17. alert('猜对了')
  18. break
  19. }
  20. }
  21. function getAge(min,max){
  22. return Math.floor(Math.random()*(max-min+1))+min
  23. }
  24. </script>

2 Date对象的常用方法

Date对象用于处理日期和时间

方法名 功能
getFullYear() 获取年份
getMonth() 获取月份(0~11) (0指1月 所以一般要+1)
getDate() 获取日期(1~31)
getDay() 获取星期(0~6) (0是指周日 一般可用switch和数组)
getHours() 获取小时
getMinutes() 获取分钟
getSeconds() 获取秒

创建时间:

生成当前时间/ 生成指定时间

  1. //创建:采用构造函数的方式
  2. var date = new Date() //自动保存当前时间
  3. console.log(date);
  4. //生成指定的时间方式一-数字型
  5. var date1 = new Date(2008,7,8)
  6. console.log(date1);//其实返回的 月份+1 所以传参的时候要把月份-1
  7. //生成指定的时间方式二-字符型
  8. var date2 = new Date('2008-8-8')
  9. console.log(date2);

获取年月日及日期:

  1. <script>
  2. /*
  3. getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 1 3
  4. getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 1 3
  5. getMonth() 从 Date 对象返回月份 (0 ~ 11)。 1 3
  6. getFullYear() 从 Date 对象以四位数字返回年份。
  7. */
  8. //在控制上打印 今天是:2022年3月8号 星期二
  9. var date = new Date()
  10. //获取年月日及日期
  11. var year = date.getFullYear()
  12. var month = date.getMonth() + 1
  13. var day = date.getDate()
  14. var week = date.getDay()
  15. var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
  16. console.log('今天是:'+year+'年'+month+'月'+day+'号 '+arr[week]);
  17. </script>

获取时分秒:

  1. <script>
  2. /*
  3. getHours() 返回 Date 对象的小时 (0 ~ 23)。
  4. getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
  5. getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
  6. */
  7. var date = new Date()
  8. console.log(date.getHours());
  9. console.log(date.getMinutes());
  10. console.log(date.getSeconds());
  11. </script>

获取毫秒值:

  1. <script>
  2. /*
  3. getTime() 返回 1970 年 1 月 1 日至今的毫秒数。(计算机的起始时间)
  4. valueOf()
  5. */
  6. var date = new Date()
  7. console.log(date.getTime());//1646708911622
  8. console.log(date.valueOf());
  9. //最简单的写法(最常用的)
  10. var date1 = +new Date()
  11. console.log(date1);
  12. //h5新增一个方式
  13. console.log(Date.now());//不需要创建对象,now()就是获取当前时间距离1970年的毫秒值
  14. </script>

实例:

  1. <script>
  2. //打印你下你来这个世界有多少天
  3. //思路: 先算出 差值 = 现在距离1970年毫秒值 - 你的生日距离1970年的毫秒值
  4. // 差值/1000/60/60/24
  5. //定义两个变量存储两个毫秒值(直接用两个时间相减,也可以得到毫秒值)
  6. var birthday = +new Date('1990-1-28')
  7. var today = +new Date()
  8. //计算差值
  9. var time = today - birthday
  10. //计算天数
  11. console.log(time/1000/60/60/24);
  12. </script>

3 Array数组对象的常用方法

Array 对象用于在单个的变量中存储多个值。

方法名 功能 返回值
push() 在末尾添加元素 新数组的长度
pop() 删除最后一个元素 删除的元素的值
slice() 截取子数组 新数组
splice() 通常用于删除某个指定元素 新数组

创建方式:

字面量方式 / 使用构造函数new

  1. <script>
  2. //数组的字面量方式
  3. var arr = [1,2,3]
  4. //使用构造函数 new
  5. /* new Array();
  6. new Array(size);//长度
  7. new Array(element0, element1, ..., elementn); */
  8. var arr1 = new Array()
  9. console.log(arr1);
  10. var arr2 = new Array(2)//2代表长度
  11. console.log(arr2);
  12. var arr3 = new Array(2,3)//2,3代表元素
  13. console.log(arr3);
  14. </script>

添加和删除数组元素:

  1. **push( ) **向数组的末尾添加一个或更多元素,并返回新的长度。<br /> ** pop( ) **删除并返回数组的最后一个元素
  1. <script>
  2. var arr = [1,2,3]
  3. //push() 向数组的末尾添加一个或更多元素,并返回新的长度。
  4. arr.push(4)
  5. console.log(arr);
  6. arr.push(5,6,7)
  7. console.log(arr);
  8. //现在数组已经变成 [1,2,3,4,5,6,7]
  9. //pop() 删除并返回数组的最后一个元素
  10. arr.pop()
  11. console.log(arr);
  12. var c = arr.pop()//返回数组的最后一个元素
  13. console.log(c);//6
  14. </script>

数组的遍历:

  1. <script>
  2. //有一个包含工资的数组 [1500,1200,2000,2100,1800] 把超过2000的删除,剩余的放到一个新的数组 打印新的数组
  3. //只需要把工资不超过2000的放到一个新的的数组
  4. //怎么找到工资不超过2000 遍历然后判断
  5. var arr = [1500,1200,2000,2100,1800]
  6. //定义一个新的数组
  7. var newArr = []
  8. //遍历
  9. for(var i=0;i<arr.length;i++){
  10. //判断
  11. if(arr[i] < 2000){
  12. newArr.push(arr[i])
  13. }
  14. }
  15. //打印新数组
  16. console.log(newArr);
  17. </script>

数组反转和排序:

  1. **reverse( ) **颠倒数组中元素的顺序。 <br /> **sort( ) **对数组的元素进行排序
  1. <script>
  2. //reverse() 颠倒数组中元素的顺序。
  3. var arr = [1,2,3]
  4. arr.reverse()
  5. console.log(arr);
  6. //sort() 对数组的元素进行排序
  7. var arr1 = [9,7,6,1,2,3]
  8. //arr1.sort()//默认是升序排序
  9. //console.log(arr1);//升序
  10. //降序
  11. arr1.sort(function(a,b){
  12. return b - a
  13. })
  14. console.log(arr1);
  15. </script>

查找索引:

  1. **indexOf ** 查找索引<br /> **lastIndexOf** 从最后开始查找索引
  1. <script>
  2. //indexOf 查找索引
  3. var arr = [1,2,3,4,1,5,6,7]
  4. var index = arr.indexOf(2)//1 只会查找第一个是1的元素的索引
  5. console.log(index);
  6. //lastIndexOf 从最后开始查找索引
  7. var lastIndex = arr.lastIndexOf(1) //从后面开始数的,但是索引还是正的来的
  8. console.log(lastIndex);//4
  9. var i = arr.indexOf(8)
  10. console.log(i);//-1 -1的含义就是告诉你,数组中没有这个元素
  11. </script>

数组去重:

  1. <script>
  2. //数组去重 [1,1,2,3,3,4,5,5] 去掉里面的重复元素
  3. var arr = [1,1,2,3,3,4,5,5]
  4. //创建一个新的数组,用于存放不重复的元素
  5. var newArr = []
  6. for(var i=0;i < arr.length;i++){
  7. //在放入新数组之前,用indexOf()做一个判断,如果他的值==-1,说明新数组中没有这个元素,就可以放进去
  8. if(newArr.indexOf(arr[i]) == -1){
  9. newArr.push(arr[i])
  10. }
  11. }
  12. console.log(newArr);
  13. </script>

4 String对象的常用方法

String 对象用于处理文本(字符串)。

检索字符串:

  1. **indexOf( ) **检索字符串<br /> ** lastIndexOf( ) **从后向前搜索字符串
  1. <script>
  2. //indexOf() 检索字符串。
  3. var str1 = '女大十八变,越变越随便'
  4. //查找 变 所在的索引
  5. var index = str1.indexOf('变')
  6. console.log(index);//4
  7. var index1 = str1.indexOf('变',5)//从索引为5的元素位置往后数
  8. console.log(index1);
  9. //lastIndexOf() 从后向前搜索字符串。
  10. var i = str1.lastIndexOf('变')
  11. console.log(i);//7 索引还是正的来的
  12. </script>

根据索引查找对应字符:

charAt( ) 返回在指定位置的字符。

  1. <script>
  2. //charAt() 返回在指定位置的字符。
  3. var str = '问世间情为何物,只不过是一物降一物'
  4. var c1 = str.charAt(3)
  5. console.log(c1);
  6. //字符串的长度
  7. console.log(str.length);
  8. //遍历
  9. for(var i=0;i < str.length;i++){
  10. console.log(str.charAt(i));
  11. }
  12. //H5新增的一个方法
  13. console.log(str[0]);
  14. </script>

字符串的拼接/ 截取 /替换:

concat( ) 连接字符串
substr( ) 从起始索引号提取字符串中指定数目的字符
replace( ) 替换

  1. <script>
  2. //字符串的拼接 最简单的方式就是 +
  3. //concat() 连接字符串。
  4. var s1 = '刚刚被表白了'
  5. var s2 = s1.concat('让我们恭喜刚刚')
  6. console.log(s2);
  7. //截取
  8. //substr() 从起始索引号提取字符串中指定数目的字符。 //包含起始索引的字符
  9. var s3 = '十年生死两茫茫'
  10. console.log(s3.substr(2,2));//第一个参数是起始索引,第二个参数是截取的个数
  11. //replace() 替换
  12. var s4 = '你个坏蛋'
  13. var s5 = s4.replace('坏蛋','**')
  14. console.log(s5);
  15. </script>

练习:

  1. <script>
  2. //任意一个手机号,将中间的4位变成 *****
  3. var tel = '12345678901'
  4. //先获取中间4位
  5. var temp = tel.substr(3,4)
  6. //替换
  7. var result = tel.replace(temp,'****')
  8. console.log(result);
  9. </script>

5 JSON对象的常用方法

方法名 功能 返回值
JSON.parse(str) 将JSON字符串转换成JS对象 JS对象
JSON.stringify(obj, null, 2) 将 JS 对象转换为 JSON 字符串 JSON字符串

json字符串与js对象的互转

json
本质是一个字符串,一种简单的轻量级的数据存储格式
区别
json字符串:本质是一个字符串,格式化的字符串
js对象:本质是一个对象,类的实例
传输
json字符串:可以跨平台传输,速度快
js对象:不能传输
表现
json字符串:
键值对的方式,属性必须加引号
值不可以是方法,函数,undefined以及NaN
js对象
键值对方式,属性可以不加引号
值可以是函数,对象,字符串,数字.boolean等

  1. var jsonStr = '{"name":"张三","age":"23"}'//json字符串
  2. console.log(jsonStr);
  3. console.log(typeof jsonStr);
  4. //json字符串转js对象
  5. var obj = JSON.parse(jsonStr)
  6. console.log(obj);
  7. console.log(typeof obj);
  8. var jsObj = {name: '张三', age: '23'} //js对象
  9. var str = JSON.stringify(jsObj)
  10. console.log(str);