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('分隔符')

                                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值