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基础学习笔记 day06 -> 正文阅读

[JavaScript知识库]JavaScript基础学习笔记 day06

内置对象

  • 内置对象:浏览器内核自带的一些帮助程序员快速开发的对象,这些对象中有一个方法
  • 常用对象:Math数学对象 Date时间对象 String字符串对象 数组对象
  • MDN文档:https://developer.mozilla.org/zh-CN/

1.Math对象

  • Math对象,数学对象 属性与方法
  • 属性 console.log(Math.PI);
  • 方法
    1. 绝对值
      console.log(Math.abs(-1));//输出1
    2. 最大值最小值
      console.log(Math.max(1,2,3));//输出3
      console.log(Math.min(1,2,3));//输出1
    3. 向下取整
      console.log(Math.floor(1.1));//输出1
      console.log(Math.floor(1.9));//输出1
    4. 向上取整
      console.log(Math.ceil(1.1));//输出2
      console.log(Math.ceil(1.9));//输出2
    5. 四舍五入
      console.log(Math.round(1.4));//输出1
      console.log(Math.round(-1.5));//输出-1
    6. Math.random 随机返回一个小数,其取值范围是 [0,1),左闭右开 0 <= x < 1
      console.log(Math.random());
  • 猜数字案例:
		//案例,猜数字游戏
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var random = getRandom(1, 10); //随机生成1~10的整数
        while (true) {
            var num = prompt('请输入一个1~10之间的整数');
            if (num > random) {
                alert('你猜大了');
            } else if (num < random) {
                alert('你猜小了');
            } else {
                alert('你猜对啦');
                break;
            }
        }

2.Date对象

  • Date对象,是一个构造函数,需要实例化后才可以使用
  1. 得到当前时间
    var date = new Date()
  2. 得到指定时间
    var date = new Date(‘2018-9-23’)
  3. 得到年
    getFullYear()
    console.log(date.getFullYear());
  4. 得到月
    getMonth()+1
    console.log(date.getMonth() + 1);
  5. 得到日
    getDate()
    console.log(date.getDate());
  6. 得到时
    getHours()
    console.log(date.getHours());
  7. 得到分
    getMinutes()
    console.log(date.getMinutes());
  8. 得到秒
    date.getSeconds()
    console.log(date.getSeconds());
  9. 得到周几
    getDay() 如果是周日,会显示0
    console.log(date.getDay());
  10. 时间戳
    获得Date总的毫秒数,不是当前时间的毫秒数,而是距离1970年1月1日过了多少毫秒数
 		//1、通过valueOf()  getTime()
        var date = new Date();
        console.log(date.valueOf());
        console.log(date.getTime());
        //2、通过 +new Date  常用
        console.log(+new Date()); //Date后面可以添加(时间)
        //3、HTML5中提供的方法,有兼容性问题
        console.log(Date.now());
        console.log('------------------');
  • 时间戳案例
		//求你活了多少天
        var nowtime = Date.now();
        var birthday = +new Date('2018-09-23');
        var time = Math.ceil((nowtime - birthday) / 1000 / 60 / 60 / 24);
        console.log(time);
  • 倒计时案例:
		function conutDown(time) {
            var now = Date.now();
            var futrue = +new Date();
            var times = Math.ceil((futrue - now) / 1000);
            var seconds = parseInt(times % 60) //得到秒
            var minutes = parseInt(times / 60 % 60); //得到分
            var hours = parseInt(times / 60 / 60 % 24); //得到小时
            var day = parseInt(times / 60 / 60 / 24); //得到天
            return day + '天' + hours + '时' + minutes + '分' + seconds + '秒';
        }
        console.log(conutDown('2022-10-01'));

3.数组对象

  • 创建数组的两种方式
		//1、利用数组字面量
        var arr = [1,2,3];
        console.log(arr[0]);

        //2、利用new Array()
        // var arr1 = new Array();//创建一个空数组
        // var arr1 = new Array(2);//这个2表示数组的长度,里面有两个空的数组元素
        var arr1 = new Array(2,3);//等价于[2,3]
        console.log(arr1);
  • 检测是否为数组
		//1.1  instanceof  运算符
        var arr = [1,2,3];
        console.log(arr instanceof Array);//输出true

        //1.2  Array.isArray
   		console.log(Array.isArray([1,2,3,4]));//输出true
3.1数组的添加与删除
  1. 添加元素
    1.1在数组的后面添加元素 push()
  • push方法在原数组上进行了修改
  • push方法有返回值,返回新数组的长度
		var arr = [1, 2, 3]
        var res = arr.push(100);
        console.log(arr);//输出[1,2,3,100]
        console.log(res);//输出4,新数组的长度

1.2在数组的前面添加元素 unshift() 也会返回新数组的长度

		var arr1 = [1,2,3];
        arr1.unshift(5);
        console.log(arr1);//输出[5,1,2,3]
  1. 删除数组
		//1.1pop()  删除数组最后一个元素   不需要参数
        //pop()返回的是被删掉的值
        var arr2 = [0,1,2,3,4];
        var res1 = arr2.pop();
        console.log(arr2);//输出[0,1,2,3]
        console.log(res1);//输出4

        //1.2shift()  删除数组第一个数组  返回的是被删掉的值
        var arr3 = [0,1,2,3,4];
        var res2 = arr3.shift();
        console.log(arr3);//输出[1,2,3,4]
        console.log(res2);//输出0
  • 案例:
		//案例,将小于2000的数筛选到新数组
        var price = [1500,1200,2000,1800];
        var newprice = [];
        for(var i = 0; i < price.length; i++){
            if(price[i] < 2000){
                newprice.push(price[i]);
            }
        }
        console.log(newprice);
3.2数组的翻转和排序
		//1、数组的翻转  reverse  返回值是翻转后的数组
        var arr = ['啦啦啦', '滴滴滴', '噜噜噜', '嘿嘿嘿'];
        var res = arr.reverse();
        console.log(arr);
        console.log(res);

        //2、数组的排序  sort  从小到大排序  只能排个位数
        var arr1 = [3, 4, 7, 1];
        arr1.sort();
        console.log(arr1);
        console.log('-------------------');
        var arr2 = [2, 12, 4, 23, 8];
        arr2.sort(function (a, b) {
            // return a - b; //从小到大的排序
            return b - a//从大到小的排序
        })
        console.log(arr2);
3.3数组索引方法
		//1、 indexOf(数组元素),作用就是返回该数组元素的索引号
        //它只返回第一个满足条件的元素的索引号,如果找不到该元素,则返回的是-1
        var arr = ['red','green','pink','blue','pink'];
        console.log(arr.indexOf('pink'));//返回2
        console.log(arr.indexOf('aqua'));//返回-1
        
        //2、  lastIndexOf(数组元素)
        //它只返回最后一个满足条件的元素的索引号
        console.log(arr.lastIndexOf('pink'));//返回4
  • 数组去重案例
		//删掉重复的元素
        var arr = ['c','a','z','a','x','a','c','z','b'];
        var newarr = [];
        //思路:循环原数组,判断元素(indexOf === -1)是否在新数组中,如果在,就不做任何操作,如果不在,就添加至新数组
        for(var i = 0; i < arr.length; i++){
            //if(!newarr.includes(arr[i]))
            if(newarr.indexOf(arr[i]) === -1){
                newarr.push(arr[i]);
            }
        }
        console.log(newarr);

        console.log('-------------------');
        //includes,包含,如果数组里有这个元素,返回是true,否则返回false
        var arr1 = [1,2,3];
        console.log(arr1.includes(3));//输出true
        console.log(arr1.includes(4));//输出false
3.4数组转换为字符串
		//1、toString()
        var arr = [1,2,3];
        console.log(arr.toString());

        //2、join(可以添加分隔符)
        var arr1 = ['green','pink','blue','red'];
        console.log(arr1.join());//不添加分隔符,元素之间默认是逗号
        console.log(arr1.join('-'));
3.5合并数组
		//合并数组   concat()  不会修改原数组
        var arr = [1,2,3];
        var newarr = arr.concat([4,5,6]);
        console.log(arr);//输出[1,2,3]
        console.log(newarr);//输出[1,2,3,4,5,6]

4.字符串对象

4.1根据字符返回位置
		var str = '你要如何,我们就如何';
        console.log(str.indexOf('如'));
        console.log(str.lastIndexOf('如'));
  • 案例:
		//案例  查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
        var arr = 'abcoefoxyozzopp';
        var index = arr.indexOf('o');
        var num = 0;
        while (index !== -1) {
            console.log(index);
            num++;
            index = str.indexOf('o', index + 1);
        }
        console.log(num);
4.2相关案例
		//案例,判断一个字符串 'aoeoxzzop' 中出现次数最多的字符,并统计其次数
        //要有两个步骤
        //1、将字符串变为对象  {a:1,o:3,e:1,z:2}
        //2、循环对象  o:3
        //前置知识点,判断一个对象是否有这个属性名    in运算符
        /* var obj = {
            age:18
        }
        var a = 'age';
        console.log('age' in obj);
        console.log('name' in obj);
        console.log(a in obj); */
        var str = 'aoeozzo';
        var obj = {}; // {a:1,o:1,e:1}
        for (var i = 0; i < str.length; i++) {
            if (str[i] in obj) {
                obj[str[i]]++;
            } else {
                obj[str[i]] = 1;
            }
        }
        console.log(obj);
        var max = 0;
        var ch = '';
        for (var k in obj) {
            if (obj[k] > max) {
                max = obj[k];
                ch = k;
            }
        }
        console.log('次数是' + max);
        console.log('次数最多的字符是' + ch);
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:23:04  更:2021-10-23 12:25:03 
 
开发: 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/24 1:35:16-

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