IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript自学笔记(四) -> 正文阅读

[JavaScript知识库]JavaScript自学笔记(四)

学习链接:https://www.bilibili.com/video/BV1Sy4y1C7ha
JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts黑马pink老师前端入门基础视频教程?
笔记涉及的是视频p156~p187的内容,涉及内置对象的内容,内容比较多,但是不要求能全部记住。并且要善于使用MDN查询其他的内置对象的功能和语法

目录

1. 内置对象

? ? ? ? 1.1 查文档

? ? ? ? 1.2 Math对象

? ? ? ? 1.3 日期对象???????

? ? ? ? 1.4 数组对象

? ? ? ? 1.5 字符串对象


1. 内置对象

? ? ? ? 内置对象就是指js语言自带的一些对象,供开发者使用,并提供了常用的或最基本必要的功能

? ? ? ? 1.1 查文档

? ? ? ? ? ? ? ? 1.1.1 MDN

????????????????????????MDN链接:https://developer.mozilla.org/zh-CN/

? ? ? ? ? ? ? ? ? ? ? ? 如何学习对象中的方法(Math.max()为例):

  • 查阅该方法的功能

  • 查看里面参数的意义和类型

? ? ?

  • 查看返回值的意义和类型?????????
  • ?通过demo进行测试

? ? ? ? ?1.2 Math对象

????????????????Math对象链接:

????????https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math

????????????????Math是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math不是一个函数对象(构造函数),不需要new来调用,可以直接使用属性和方法。

? ? ? ? ? ? ? ? 1.2.1 求最大最小值

? ? ? ? ? ? ? ? ? ? ? ? Math.max()&Math.min()

? ? ? ? ? ? ? ? 1.2.2 绝对值方法

? ? ? ? ? ? ? ? ? ? ? ? Math.abs();

? ? ? ? ? ? ? ? ? ? ? ? 隐式转换:Math.abs('-1'),会将字符串-1转换为数字型-1,最终结果为1

? ? ? ? ? ? ? ? 1.2.3 三个取整方法

  • ? ? ? ? ? ? ? ? ? ? ? ? Math.floor()//向下取整 例:Math.floor(1.9)->1
  • ? ? ? ? ? ? ? ? ? ? ? ? Math.ceil()//向上取整?例:Math.ceil(1.1)->2
  • ? ? ? ? ? ? ? ? ? ? ? ? Math.round()//四舍五入 就近取整 往大的取值? 例: Math.round(1.5)->2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Math.round(-1.5)->-1?

? ? ? ? ? ? ? ? ?1.2.4 随机数方法

? ? ? ? ? ? ? ? ? ? ? ? Math.random() 返回一个随机的浮点数,范围:[0,1)

? ? ? ? ? ? ? ? ? ? ? ? 随机生成两个数之间的随机数

? ? ? ? ? ? ? ? ? ? ? ? function getRandom(min,max){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return Math.floor(Math.random() * (max - min + 1)) + min;

????????????????????????}

作业:要求用户猜1~50之间的一个数字。但是只有十次猜的机会

    <script>
        function getRandom(min, max) {????
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var a = 0;
        var b = getRandom(1, 50);
        for (var i = 9; i >= 0; i--) {
            if (i >= 0 && i < 10) {
                a = prompt('请输入一个你猜1~50的一个数字:');
                if (a < b) {
                    if (i == 0)
                        alert('没有猜对哦,已经没有机会啦');
                    else
                        alert('数猜小了,还有' + i + '次机会');
                } else if (a > b) {
                    if (i == 0)
                        alert('没有猜对哦,已经没有机会啦');
                    else
                        alert('数猜大了,还有' + i + '次机会');
                } else if (a == b) {
                    alert('猜对啦');
                    break;
                }
            } else {
                break;
            }
        }
    </script>

? ? ? ? ? ? ?1.3 日期对象???????

? ? ? ? ? ? ? ? ? ? ? ? Date() 是构造函数,需要用new创建日期对象

? ? ? ? ? ? ? ? ? ? ? ? var date = new Date();?

? ? ? ? ? ? ? ? ? ? ? ? 1.3.1 数字型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var date = new Date(2019, 10, 1);//返回结果是11月

? ? ? ? ? ? ? ? ? ? ? ? 1.3.2 字符串型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var date = new Date('2019-10-1 8:8:8');

? ? ? ? ? ? ? ? ? ? ? ? 1.3.3 日期格式化

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var date = new Date();

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(date.getFullYear());//返回当前日期的年份
  • ????????????????????????????????console.log(date.getMonth());//返回当前的月份小一个月
  • ????????????????????????????????console.log(date.getDate());//返回当前日期
  • ????????????????????????????????console.log(date.getDay());//返回星期几 特殊:周日返回的是0
  • ????????????????????????????????console.log(date.getHours());//返回小时
  • ????????????????????????????????console.log(date.getMinutes());//返回分钟
  • ????????????????????????????????console.log(date.getSeconds());//返回秒数

? ? ? ? ? ? ? ? ? ? ? ? 1.3.4 获得Date总的毫秒数

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? date.valueOf()
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? date.getTime()
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var date = +new Date();//+new Date()返回的是总毫秒数(常用)
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(Date.now());

? ? ? ? ? ?倒计时实例

? ? ? ? ? ? ? ? ? ? ? ? 剩余总秒数=用户输入的总时间秒数-当前时间总秒数

? ? ? ? ? ? ? ? ? ? ? ? 天:?parseInt(times/60/60/24)

? ? ? ? ? ? ? ? ? ? ? ? 时:parseInt(times/60/60%24)

? ? ? ? ? ? ? ? ? ? ? ? 分:parseInt(times/60%60)

? ? ? ? ? ? ? ? ? ? ? ? 秒:parseInt(times%60)

? ? ? ? ? ? ? ? 1.4 数组对象

? ? ? ? ? ? ? ? ? ? ? ? 1.4.1 创建数组

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字面量方式——var arr = [数值]
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new Array()?——var arr = new Array(单个数值表示数组长度/多个数值为数组元素)

? ? ? ? ? ? ? ? ? ? ? ? ?1.4.2 检测是否为数组

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?instanceof 数组名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 是数组返回true;不是数组返回false

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Array.isArray(参数)

??????????????????????????????????????是数组返回true;不是数组返回false

? ? ? ? ? ? ? ? ? ? ? ? 1.4.3 添加数组元素方法

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在数组末尾添加元素:数组名.push(数组元素); 返回值:新数组长度
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在数组开头添加元素:数组名.unshift(数组元素); 返回值:新数组长度

? ? ? ? ? ? ? ? ? ? ? ? 1.4.4 删除数组元素方法

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?删除数组最后一个元素:数组名.pop();?返回值:已删除的元素
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?删除数组开头第一个元素:数组名.shift();?返回值:已删除的元素

? ? ? ? ? ? ? ? ? ? ? ? 1.4.5 翻转数组

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.reverse();?

? ? ? ? ? ? ? ? ? ? ? ? 1.4.6 数组排序(冒泡排序)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.sort(); ps:对于元素为单位数的数组有效

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 改良:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.sort(function(a,b){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return a - b;//升序(降序:b - a )

?????????????????????????????????????????????????});
? ? ? ? ? ? ? ? ? ? ? ? 1.4.7 数组索引方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.indexOf('数组元素'); 从前往后找

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????PS:数组有重复元素只会返回靠前的索引号;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?没有元素返回值为-1;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.indexOf('数组元素'); 从后往前找

????????????????????????????????????????????????PS:数组有重复元素只会返回靠后的索引号;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?没有元素返回值为-1;

该方法可以实现数组去重(重点案例)

????????核心算法:遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组没有出现过,就添加到新数组,否则不添加

? ? ? ? ? ? ? ? ? ? ? ? 1.4.8 数组转换为字符串

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.toString()?
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.join(分隔符)

? ? ? ? ? ? ? ? ? ? ? ? 1.4.9?课下查询

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? concat()--连接两个或以上个数组

????????????????????????????????????????????????????????返回值:返回新数组,不影响原数组

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? slice()--数组截取 slice(begin,end)

????????????????????????????????????????????????????????返回值:被截取项目新数组

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? splice()--数组删除 splice(第几个开始,删除个数)

????????????????????????????????????????????????????????返回值:返回被删除项目的新数组,会影响原数组

? ? ? ? ? ? ? ? 1.5 字符串对象

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.1 基本包装类型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三种基本包装类型:String、Number、Boolean

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)简单数据类型包装成复杂数据类型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var temp = new String('andy');

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)把临时变量的值给str

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? str = temp;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)销毁临时变量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? temp = null;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.2 字符串的不可变

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????值不变,改变的是地址,内存中开辟了一个新空间

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.3 根据字符返回位置

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????字符串所有的方法都不会修改字符串本身(字符串不可变),操作完成返回新字符串

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 方法:

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?字符串名.indexOf('搜索的字符',[起始位置])?
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?字符串名.lastindexOf('搜索的字符',[起始位置])?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.4 根据位置返回字符

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.charAt(index) 根据位置返回字符
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组名.charCodeAt(index) 返回相应索引号的字符ASII值?
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? str[index]获取指定位置处字符

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.5 拼接以及截取字符串

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? concat(str1,str2,str3...) 连接两个或以上字符串,效果等同于+
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? substr(start,length) 从start开始,取length个数(重点)
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? slice(start,end)?从start开始,截取到end,end取不到
  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? substring(start,end) 和slice类似,但是不接受负值? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.5.6??替换字符串以及转换成数组

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.替换字符串

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?字符串.replace('被替换的字符','替换为的字符') 只会替换第一个字符

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.字符转换为数组

  • ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串.split('分隔符')

????????????????????????????????????????????????

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 11:54:58  更:2021-08-30 11:59:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:50:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码