21JS12——内置对象


目标:
1、内置对象
2、查文档
3、Math对象
4、日期对象
5、数组对象
6、字符串对象

一、内置对象

· JS中的对象分为3种:自定义对象、内置对象、浏览器对象
· 前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有有的,我们JSAPI讲解
· 内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
· 内置对象最大的优点就是帮助我们快速开发
· JavaScript提供了多个内置对象:MathDate Arraystring等

二、查文档

1、 MDN

· 学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C来查询。
· Mozilla开发者网络(MDN)提供了有关开放网络技术(OpenWeb)的信息,包括HTMLCSS和万维网及 HTML5应用的API。
· MDN:https://developermozilla.org/zh-CN/

2、如何学习对象中的方法

1.查阅该方法的功能
2.查看里面参数的意义和类型
3.查看返回值的意义和类型
4.通过demo进行测试

三、Math对象

1、Math对象

Math数学对象 不是一个构造函数,所以我们不需要new来调用而是直接使用里面的属性和方法即可。
在这里插入图片描述

2、案例-封装自己的数学对象

在这里插入图片描述
在这里插入图片描述

3、Math的几个方法

Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用Math中的成员。
在这里插入图片描述

(1)绝对值

在这里插入图片描述

(2)三个取整方法

在这里插入图片描述

(3)随机数方法random()

· Math对象随机数方法:random()返回一个随机的小数0 <= x < 1
· 这个方法里面不跟参数
· 得到两个数之间的随机整数,并且包含这2个整数
在这里插入图片描述
· 随机点名
在这里插入图片描述

4、猜数字游戏

程序随机生成一个1~10之间的数字,并让用户输入一个数字,
1.如果大于该数字,就提示,数字大了,继续猜;
2.如果小于该数字,就提示数字小了,继续猜;
3.如果等于该数字,就提示猜对了,结束程序。
案例分析:
①随机生成一个1~10的整数我们需要用到Math.random()方法。
②需要一直猜到正确为止,所以一直循环。
③用while循环合适更简单。
④核心算法:使用if else if多分支语句来判断大于、小于、等于。
在这里插入图片描述

四、日期对象

1、Date概述

· Date对象和Math对象不一样,他是一个构造函数,所以我们需要实例化后才能使用
· Date实例用来处理日期和时间

2、Date()方法的使用

(1)获取当前时间必须实例化
在这里插入图片描述
(2)Date()构造函数的参数
如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为’2019-5-1’,可以写成newDate(‘2019-5-1’)或者newDate(‘2019/5/1’)

3、日期格式化

需要获取日期指定的部分,我们要手动的得到这种格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、获取日期的总的毫秒形式

(1)概述

· Date对象是基于1970年1月1日(世界标准时间)起的毫秒数
· 我们经常利用总的毫秒数来计算时间,因为精确
在这里插入图片描述

(2)案例——倒计时效果

在这里插入图片描述
核心算法:
①输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着时分秒相减,比如05分减去25分,结果会是负数的。
②用时间戳来做。用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。
③把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
在这里插入图片描述
在这里插入图片描述

五、数组对象

1、创建数组对象的两种方式

· 字面量方式
· new Array()
在这里插入图片描述

2、检测是否为数组

在这里插入图片描述
在这里插入图片描述

3、添加删除数组元素的方法

在这里插入图片描述

(1)push():在数组末尾添加一个或多个元素

在这里插入图片描述
在这里插入图片描述

(2)unshift():给数组前面追加一个或多个元素元素

在这里插入图片描述
在这里插入图片描述

(3)pop():删除数组最后一个元素

在这里插入图片描述
在这里插入图片描述

(4)shift():删除数组的第一个元素

在这里插入图片描述
在这里插入图片描述

(5)案例——筛选工资

有个包含工资的数组[1500,1200,2000,2100,1800],要求把数组中工资超过2000的删除,剩余的放到新数组里面。
在这里插入图片描述

4、数组排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但当此写法排序非单位数时,sort会有问题:
在这里插入图片描述
在这里插入图片描述
解决方案:(sort()的标准写法)
在这里插入图片描述

5、数组索引方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例:数组去重(重点案例)

有一个数组[ ‘c’, ‘a’, ‘z’, ‘a’, ‘x’, 'a’, ‘x’, 'c’, 'b’ l,要求去除数组中重复的元素。
①目标:
把旧数组里面不重复的元素选取出来放到新数组中,重复的元素只保留一个,放到新数组中去重。
②核心算法:
我们遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加。
③我们怎么知道该元素没有存在? 利用 新数组.indexof(数组元素素)如果返回时-1就说明 新数组里面没有改元素
在这里插入图片描述

6、数组转换为字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、其他方法

在这里插入图片描述

六、字符串对象

1、基本包装类型

· 为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String、Number和Boolean。
· 基本包装类型 就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。
在这里插入图片描述
按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是因为js会把基本数据类型包装为复杂数据类型,其执行过程如下:
在这里插入图片描述

2、字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。
在这里插入图片描述

3、根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。
在这里插入图片描述
在这里插入图片描述

案例:返回字符位置
查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
核心算法:
①先查找第一个o出现的位置
②然后只要indexOf返回的结果不是-1就继续往后查找
③因为indexOf只能查找到第一个,所以后面的查找,利用第二个参数,当前索引加1,从而继续查找
在这里插入图片描述

4、根据位置返回字符(重点)

在这里插入图片描述
在这里插入图片描述

案例

判断一个字符串’abcoefoxyozzopp中出现次数最多的字符,并统计其次数。
铺垫:
在这里插入图片描述
核心算法:
①利用charAt()遍历这个字符串
②把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1
③遍历对象,得到最大值和该字符
在这里插入图片描述
在这里插入图片描述

5、字符串操作方法

在这里插入图片描述
在这里插入图片描述
其他方法:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值