JavaScript基础第06天笔记(一)

简介: JavaScript基础第06天笔记

0 - 目标


能够说出什么是内置对象

能够根据文档查询指定API的使用方法

能够使用 Math 对象的常用方法

能够使用 Date 对象的常用方法

能够使用 Array 对象的常用方法

能够使用 String 对象的常用方法

能够说出简单数据类型的内存分配

能够说出复杂数据类型的内存分配

能够说出简单类型如何传参

能够说出复杂类型如何传参


1 - 内置对象


1.1 内置对象


JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象


前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于我们JS 独有的, 我们JS API 讲解;

内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最

基本而必要的功能(属性和方法);

内置对象最大的优点就是帮助我们快速开发

JavaScript 提供了多个内置对象:Math、 Date 、Array、String等


通俗理解: 内置对象 就是 js 提前给 我们准备好 工具类


1.2 查文档


查找文档:学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C来查询。

Mozilla 开发者网络(MDN)提供了有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及 HTML5 应用的 API。

MDN: https://developer.mozilla.org/zh-CN/


如何学习对象中的方法


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


1.3 Math对象


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

属性、方法名 功能
Math.PI 圆周率
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入版 就近取整 注意 -3.5 结果是 -3
Math.abs() 绝对值
Math.max()/Math.min() 求最大和最小值
Math.random() 获取范围在[0,1)内的随机值


注意:上面的方法使用时必须带括号


获取指定范围内的随机整数

function getRandom(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min; 
}


案例:猜数字游戏

<script>
  // 猜数字游戏
  // 1.随机生成一个1~10 的整数  我们需要用到 Math.random() 方法。
  // 2.需要一直猜到正确为止,所以需要一直循环。
  // 3.while 循环更简单
  // 4.核心算法:使用 if  else if 多分支语句来判断大于、小于、等于。
  function getRandom(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 10);
while (true) { // 死循环
  var num = prompt('你来猜? 输入1~10之间的一个数字');
  if (num > random) {
    alert('你猜大了');
  } else if (num < random) {
    alert('你猜小了');
  } else {
    alert('你好帅哦,猜对了');
    break; // 退出整个循环结束程序
  }
}
// 要求用户猜 1~50之间的一个数字 但是只有 10次猜的机会
</script>


1.4 日期对象


Date 对象和 Math 对象不一样,Date是一个构造函数,所以使用时需要实例化后才能使用其中具体方法和属性。Date 实例用来处理日期和时间


  • 使用Date实例化日期对象
  • 获取当前时间必须实例化
var now = new Date();


  • 获取指定时间的日期对象
var future = new Date('2019/5/1');


注意:如果创建实例时并未传入参数,则得到的日期对象是当前时间对应的日期对象


  • 使用Date实例的方法和属性

bf9c85357a1a4b8bbc2d1edffaf4a3ea.png


通过Date实例获取总毫米数

  • 总毫秒数的含义
    基于1970年1月1日(世界标准时间)起的毫秒数
  • 获取总毫秒数
// 实例化Date对象
var now = new Date();
// 1. 用于获取对象的原始值
console.log(date.valueOf()) 
console.log(date.getTime()) 
// 2. 简单写可以这么做
var now = + new Date();     
// 3. HTML5中提供的方法,有兼容性问题
var now = Date.now();


1.5 数组对象


创建数组的两种方式


  • 字面量方式


  • 示例代码如下:
var arr = [1,"test",true];


  • new Array()


  • 示例代码如下:
var arr = new Array();


注意:上面代码中arr创建出的是一个空数组,如果需要使用构造函数Array创建非空数组,可以在创建数组时传入参数


参数传递规则如下:

  • 如果只传入一个参数,则参数规定了数组的长度
  • 如果传入了多个参数,则参数称为数组的元素


检测是否为数组


  • instanceof 运算符
  • instanceof 可以判断一个对象是否是某个构造函数的实例
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false


Array.isArray()

  • Array.isArray()用于判断一个对象是否为数组,isArray() 是 HTML5 中提供的方法
var arr = [1, 23];
var obj = {};
console.log(Array.isArray(arr));   // true
console.log(Array.isArray(obj));   // false


添加删除数组元素的方法

  • 数组中有进行增加、删除元素的方法,部分方法如下表

12355ed1f00d47a6ae0268b6fb010eda.png


注意:push、unshift为增加元素方法;pop、shift为删除元素的方法


数组排序


  • 数组中有对数组本身排序的方法,部分方法如下表

04cbecefe2914e2c82dda1d74f908101.png


注意:sort方法需要传入参数来设置升序、降序排序

  • 如果传入“function(a,b){ return a-b;}”,则为升序
  • 如果传入“function(a,b){ return b-a;}”,则为降序


数组索引方法


  • 数组中有获取数组指定元素索引值的方法,部分方法如下表

eea1ef00691f40dbaa08ae299608c275.png


数组转换为字符串


  • 数组中有把数组转化为字符串的方法,部分方法如下表

a12c21a7e53b46459a0b05ab2010a744.png

注意:join方法如果不传入参数,则按照 “ , ”拼接元素


其他方法


  • 数组中还有其他操作方法,同学们可以在课下自行查阅学习

a1ba6540573d4d36819ea84ef3fc5e8e.png





目录
相关文章
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
1月前
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
|
29天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
74 0
|
29天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
34 0
JavaScript高级笔记-coderwhy版本(一)
|
1月前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
32 0
|
1月前
|
JavaScript 前端开发 索引
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)
|
1月前
|
JSON JavaScript 前端开发
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记---保留小数位
JavaScript随手笔记---保留小数位