技术交流QQ群:1027579432,欢迎你的加入!

1.内置对象

  • JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象
  • 前两种对象是JS中的基础内容,属于ECMAScript,第三个浏览器对象属于JS独有的,后面JS API中会有讲解;
  • 内置对象:JS语言自带的一些对象,这些对象提供给开发者使用,并提供了一些常用的或者最基本且必要的功能(属性和方法);
  • JavaScript中提供了多个内置对象:Math、Date、Array、String等;

2.查文档

  • MDN:学习内置对象的使用时,只要学会其常用成员的使用即可。可以通过查阅文档学习,通过MDN/W3C来查阅;
  • Mozilla开发者网络(MDN)提供了有关开发网络技术(Open Web)的信息,包括HTML、CSS和万维网及HTML5应用的API;
  • MDN官方网站
  • 如何学习对象中的方法?
    • 首先查阅该方法的功能;
    • 接着查看里面参数的意义和类型;
    • 再查看返回值的意义和类型;
    • 最后,通过demo进行测试;

3.Math对象

  • Math对象:不是一个构造函数,所以不需要new来调用,而是直接使用里面的属性和方法。

    Math.PI  // 圆周率
    Math.floor()  // 向下取整
    Math.ceil() // 向上取整
    Math.round()
    // 四舍五入
    Math.abs()  // 绝对值
    Math.max()/Math.min()  // 最大值或最小值// 实际案例如下:
    // 绝对值
    console.log(Math.abs(-1));
    console.log(Math.abs('-1'));  // -1 隐式转换,会把字符串型的-1转换为数字型的-1
    console.log(Math.abs('curry')); // NaN// 取三个整数方法
    console.log(Math.floor(-1.2));  // 向下取整-2
    console.log(Math.ceil(1.9));  // 向上取整2
    console.log(Math.round(3.4)); // 3 四舍五入,其他数字都是四舍五入,但是.5特殊,它往大了取!
    console.log(Math.round(-1.5));  // -1
    
  • 随机数方法random()
    • random()返回一个随机的小数,小数的范围是[0,1);
    • random()函数没有传入的参数;
    • 返回的是一个随机小数[0, 1);
      // 随机数方法random():返回一个随机小数[0, 1)
      console.log(Math.random());// 案例:得到两个数之间的随机整数,并且包含两个端点
      // 记住公式:Math.floor(Math.random() * (max - min + 1)) + min
      function getRandom(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;
      }var res = getRandom(1, 10);
      console.log(res);// 案例:随机点名
      var arr = ['curry', 'durant', 'harden', 'james']
      console.log(arr[getRandom(0, arr.length - 1)]);// 案例:猜数字游戏
      var random = getRandom(1, 10);
      while (true) {var num = prompt('你来猜?输入1~10之间的一个数字:');if (num > random) {alert('你猜大了');} else if (num < random) {alert('你猜小了');} else {alert('恭喜你答对了!');break;}
      }
      

4.日期对象

  • Date()对象是一个构造函数,必须使用new来调用创建我们的日期对象;
  • 参数常用的写法:
    数字型 2020,02,15
    字符串型 '2020-02-15 14:23:56'
    
  • Date()方法使用实例如下:
    // 日期对象Date
    var obj = new Object();  // 创建了一个对象
    var arr = new Array();  // 创建了一个数组对象
    // 如果没有参数,返回系统当前的时间
    var date = new Date();  // 创建了一个日期对象
    console.log(date);
    var date1 = new Date(2020, 02, 15);
    console.log(date1);  // 返回的是3月不是2月
    var date2 = new Date('2020-02-15 14:26:59');  // 常用的写法
    console.log(date2);
    
  • 日期的格式化
    • 需要获取日期指定的部分,因此要手动得到这种格式。
    // 格式化日期 年月日
    var date = new Date();
    console.log(date.getFullYear());  // 返回当前日期的年
    console.log(date.getMonth());  // 返回的月份+1等于实际的月份即3月
    console.log(date.getDate()); // 返回的是几号
    console.log(date.getDay());  // 3 周六返回的是6,周一返回的是1,周日返回的是0
    // 返回2020年2月15日 星期六
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var dates = date.getDate();
    var day = date.getDay();
    var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
    console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);// 格式化日期 时分秒
    var date = new Date();
    console.log(date.getHours());
    console.log(date.getMinutes());
    console.log(date.getSeconds());
    // 案例:要求封装一个函数返回当前的时分秒
    function getTimer() {var time = new Date();var h = time.getHours();h = h < 10 ? '0' + h : h;var m = time.getMinutes();m = m< 10 ? '0' + m : m;var s = time.getSeconds();s = s < 10 ? '0' + s : s;return h + ':' + m + ':' + s;
    }
    console.log(getTimer());
    
  • 获取日期总的毫秒(时间戳)形式
    • Date对象是基于1970年1月1日(世界标准时间)算起的毫秒数,我们经常利用总的毫秒数来计算时间,因为它更准确。

      // 获取Date对象总的毫秒数(时间戳),不是当前时间的毫秒数,而是距离1970年1月1日后算起的总毫秒数
      // 1.通过valueOf()或者getTime()
      var date = new Date();
      console.log(date.valueOf());
      console.log(date.getTime());
      // 2.简单写法(实际开发中最常用的方法!)
      var date11 = +new Date();  // +new Date()返回的就是总的毫秒数
      console.log(date11);
      // 3.更简单的方法(H5新增的特性)
      console.log(Date.now());
      
    • 倒计时案例
      // 案例:倒计时效果
      /* 先把输入的时间减去现在的时间就是剩余时间即倒计时。又因为不能用时分秒直接相减。因此,把剩余时间转换为时间戳来实现。再把剩余时间总的毫秒数转换为天 时 分 秒
      转换公式如下:
      d = parseInt(总秒数/60/60/24);
      h = parseInt(总秒数/60/60%24);
      m = parseInt(总秒数/60%60);
      s = parseInt(总秒数%60); */
      function countDown(time) {var nowTime = +new Date(); // 返回的是当前时间总的毫秒数var userInputTime = +new Date(time); // 返回用户输入的时间var res = (userInputTime - nowTime) / 1000; // res就是剩余时间总的毫秒数var d = parseInt(res / 60 / 60 / 24);d = d < 10 ? '0' + d : d;var h = parseInt(res / 60 / 60 % 24);h = h < 10 ? '0' + h : h;var m = parseInt(res / 60 % 60);m = m < 10 ? '0' + m : m;var s = parseInt(res % 60);s = s < 10 ? '0' + s : s;return d + '天' + h + '时' + m + '分' + s + '秒';
      }
      console.log(countDown('2020-02-15 18:16:59'));
      var date = new Date();
      console.log(date);
      

5.数组对象

  • 创建数组对象的两种方式:

    • 字面量方式;
    • new Array();
      // 1.字面量方式
      var arr = ['curry', 'harden', 'durant'];
      // 2.new Array()方式
      var arr1 = new Array();  // 创建了一个空的数组
      var arr2 = new Array(2);  // 这个2表示数组的长度为2,表示数组中有两个元素
      console.log(arr2);
      var arr3 = new Array(3, 3);  // 等价于创建了数组[2,3]
      console.log(arr3);
      
  • 检测是否为数组
    • (1). instanceof是一个运算符,它可以用来检测是否为数组;
    • (2). Array.isArray(参数)方法[H5新增的特性]
      // 检测是否为数组:instanceof或isArray()方法
      var arr = [];
      var obj = {};
      console.log(arr instanceof Array);
      console.log(obj instanceof Array);
      console.log(Array.isArray(arr));
      console.log(Array.isArray(obj));
      
  • 添加或删除数组元素的方法

    // 添加或删除数组元素方法
    // push()
    var arr = [1, 2, 3];
    // arr.push(4, 'curry');
    console.log(arr.push(4, 'curry')); // 返回的是新数组的长度
    console.log(arr);
    // unshift()
    console.log(arr.unshift('red', 'blue'));
    console.log(arr);
    // pop()
    console.log(arr.pop());  // 返回值是curry
    console.log(arr);
    // shift()
    console.log(arr.shift());
    console.log(arr);
    
    • push():数组尾部追加元素;

      • push():在数组末尾添加一个或者多个数组元素;
      • push()的目的是给数组追加新的元素;
      • push()中的元素直接写需要追加的数组元素;
      • push()操作结束后返回的是新数组的长度;
      • 原数组也会发生变化;
    • unshift():数组头部追加元素;
      • unshift():在数组开头添加一个或者多个数组元素;
      • unshift()的目的是给数组追加新的元素;
      • unshift()中的元素直接写需要追加的数组元素;
      • unshift()操作结束后返回的是新数组的长度;
      • 原数组也会发生变化;
    • pop():删除数组中的最后一个元素
      • pop()的目的是删除数组的最后一个元素,记住一次只能删除一个元素;
      • pop()没有参数;
      • pop()操作结束后返回的是被删除的那个元素;
      • 原数组也会发生变化;
    • shift():删除数组中的第一个元素
      • shift()的目的是删除数组的第一个元素,记住一次只能删除一个元素;
      • shift()没有参数;
      • shift()操作结束后,返回的是被删除的那个元素;
      • 原数组也会发生变化;
  • 数组排序

    // 数组翻转与排序
    // 1.翻转数组
    var arr = ['pink', 'red', 'blue'];
    arr.reverse();
    console.log(arr);
    // 2.冒泡排序
    var arr1 = [13, 4, 77, 1, 7];
    arr1.sort(function(a, b) {// return a - b;  // 按照升序进行排序return b - a;  // 按照降序进行排序
    });
    console.log(arr1);
    
  • 数组索引方法

    // 数组索引方法:indexOf(数组元素)和lastindexOf(数组元素)
    var arr = ['red', 'green', 'blue', 'pink', 'blue'];
    console.log(arr.indexOf('blue'));  // 只返回第一个满足条件的索引号
    console.log(arr.indexOf('yellow'));  // 如果该数组中找不到元素,则返回的是-1
    console.log(arr.lastIndexOf('blue')); // 注意返回的索引号是4,只是查找顺序是从后往前查找!
    console.log(arr.lastIndexOf('yellow'));
    
  • 数组转换为字符串

    // 数组转换为字符串
    // 1.toString()
    var arr = [1, 2, 3, 'curry'];
    console.log(arr.toString());
    // 2.join('分隔符')
    console.log(arr.join());
    console.log(arr.join('-'));
    console.log(arr.join('&'));
    
  • 其他重要方法

6.字符串对象

  • 基本包装类型:把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。
  • 为了便于操作基本数据类型:JavaScript还提供了三个特殊的引用类型:String、Number、Boolean。
    // 对象才会有属性和方法,复杂数据类型才有属性和方法
    // 简单数据类型为什么会有length属性呢?
    // 基本包装类型:将简单数据类型包装成为复杂数据类型
    // (1)把简单数据类型包装为复杂数据类型
    var temp = new String('andy');
    // (2)把临时变量的值赋值给str
    str = temp;
    // (3)销毁临时变量
    temp = null;
    
  • 字符串的不可变性:是指里面的值不可变,虽然看上去可以改变内容,但是其实是地址变了。实质是在内存中新开辟了一个内存空间。


// 字符串的不可变性 var str = 'andy'; console.log(str); str = 'red'; console.log(str);

  • 因为字符串的不可变性,所以不要大量拼接字符串

    // 因为字符串的不可变性,所以不要大量拼接字符串!
    var str = '';
    for (var i = 1; i <= 1000000; i++) {str += i;
    }
    console.log(str); // 这个结果需要花费大量时间来显示,因为需要不断开辟新的内存空间
    
  • 根据字符返回位置
    • 字符串的所有方法,都不会修改字符串本身(字符串是不可变的),操作完成后会返回一个新的字符串。
    // 根据字符返回位置:indexOf('要查找的字符',[起始的位置])
    var str = '改革春风吹满地,春天来了';
    console.log(str.indexOf('春'));
    console.log(str.indexOf('春', 3));  // 从索引号3的位置开始查找字符'春'
    console.log(str.lastIndexOf('吹'));
    
  • 根据位置返回字符[重点]

    // 根据位置返回字符
    // 1.charAt(index):根据位置返回字符
    var str = 'Curry';
    console.log(str.charAt(3));
    // 遍历所有的字符
    for (var i = 0; i < str.length; i++) {console.log(str.charAt(i));
    }
    // 2.charCodeAt(index):根据位置返回字符的ASCII码,目的:判断用户按下了哪个键
    console.log(str.charCodeAt(3));
    // 3.str[index]  (H5新增特性)
    console.log(str[2]);
    
  • 字符串操作方法[重点]

    // 字符串的操作方法
    // 1.concat('字符串1', '字符串2', ...)
    var str = 'Curry';
    console.log(str.concat(' Harden'));
    // 2.substr('截取的起始位置', '截取几个字符')
    var str1 = 'CurryHarden';
    console.log(str1.substr(5, 6));  // Harden
    
  • 其他方法
    // 其他方法
    // 1.替换字符replace('被替换的字符', '替换后的字符'),它只会替换第一次出现的字符
    var str = 'Harden Curry Durant';
    console.log(str.replace(' ', '+'));
    // 案例:将所有的字符o替换为*
    var str = 'abcoefoxyozzopp';
    while(str.indexOf('o') != -1) {str = str.replace('o', '*');
    }
    console.log(str);
    // 2.字符转换为数组split('分隔符'),类似于前面的join
    var str = 'Curry, Durant, Harden';
    console.log(str.split(','));
    var str = 'Curry&Durant&Harden';
    console.log(str.split('&'));
    // 3.toUpperCase():转换为大写字母
    // 4.toLowerCase():转换为小写字母
    

7.资料下载

  • 笔记及代码,欢迎star,follow,fork…

12JavaScript中的内置对象相关推荐

  1. javascript中的内置对象和数据结构

    文章目录 简介 基础类型 undefined Boolean和Boolean对象 Number和BigInt String Symbol null Object Function Date Array ...

  2. 简单聊聊js中的内置对象

    文章目录 一.Map对象 1.常用属性和方法 2.示例 二.Set 1.属性和方法 2.示例 三.Date对象 1.创建Date对象 1.1.*new Date() ;* 2.2.*new Date( ...

  3. jsp中的内置对象(9个)、作用

    jsp内置对象 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户 ...

  4. JS中的内置对象 --- Math、Date、Array、String

    1. 基本概念区分 实例对象:通过构造函数创建出来,实例化对象.实例方法必须通过实例对象调用 静态对象(内置对象): 不需要创建, 直接就是一个对象,方法(静态方法)直接通过这个对象名调用.静态方法必 ...

  5. JavaScript(九):JavaScript中的内置对象

    一.对象的概念 对象是一种特殊的数据类型(object). 拥有一系列的属性和方法. 分为内置对象和自定义对象. 二.String对象 String对象用来支持对于字符串的处理. 1.属性 lengt ...

  6. js中的内置对象(详细篇)

    在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...

  7. JavaScript中的内置对象

    一.什么是内置对象 js本身已经写好的对象,我们可以直接使用不需要定义它. 常见的内置对象有 Data.Array,Math.RegExp.Error.String.... Array高级API so ...

  8. JSP中out内置对象的使用

    out内置对象的应用方法 方法名 含义 print() 输出显示信息 println() 换行输出显示信息 clear() 清除缓冲区里的内容 clearBuffer() 清除当前缓冲区的内容 flu ...

  9. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...

    学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ...

最新文章

  1. eclipse egit(分支管理 上)
  2. 【运营】策划朋友圈营销必知的微信八大“封杀”规则
  3. python3九九乘法表儿歌下载_python3的基础学习之九九乘法表和format函数,值得收藏...
  4. android拍照功能无预览,Android 无预览拍照
  5. 搭建srs服务器(rtmp)
  6. (王道408考研数据结构)第三章栈和队列-第三节2:栈的应用之递归
  7. (三)MFC学习之动画
  8. 树莓派舵机 c语言,树莓派控制SG90舵机
  9. Flash存储卡与读卡器常识
  10. 程序员摆地摊的正确姿势!
  11. ruoyi框架集成magic-api
  12. 小白基础知识必备|| 整型常量与进制间的转换
  13. java数学运算(Math类)
  14. Go的WaitGroup源码分析
  15. VIOS磁盘映射关系确认
  16. Trivy是CD流水线上面向容器的脆弱性扫描器
  17. OpenLayers之多源数据加载七:矢量地图
  18. echarts做了一个气泡图
  19. Web测试中定位bug方法
  20. 多摩川绝对值编码器CPLD FPGA通信源码(VHDL格式+协议+说明书)

热门文章

  1. IASetIndexBuffer Offset
  2. linux命令积累!
  3. 在网页中画Icon小图标
  4. NGINX + PHP 安装配置
  5. Box2dの自定义多边形
  6. Xampp安装时需注意的事项
  7. 不能查看隐藏文件夹的对策
  8. MySQL基础篇:事务管理
  9. Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
  10. 面试现场:小伙伴美团一面的分享和分析「含解答」