本篇为 JavaScript 系列笔记第三篇,将陆续更新

JavaScript(一)—— 初识JavaScript / 注释 / 输入输出语句 / 变量 / 数据类型

JavaScript(二)—— 运算符 / 流程控制 / 数组

JavaScript(三)—— 函数 / 作用域 / 预解析 / 对象

文章目录

  • 一、内置对象
    • 1. Math 对象
    • 2. 日期对象
    • 3. 数组对象
    • 4. 字符串对象
  • 二、简单数据类型与复杂类型

一、内置对象


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

  • 内置对象

内置对象是JavaScript语言自带的对象,供开发者使用,提供一些常用的属性和方法,以达帮助我们快速开发的目的。

常见内置对象有 MathDateArrayString 等,下面将分别来介绍

1. Math 对象


Math 不是一个构造器,不需要 new 来创建对象。Math 的所有属性与方法都是静态的。如,引用圆周率的写法是 Math.PI,调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。

常用属性和方法 说明
Math.PI 圆周率
Math.max() 求最大值
Math.min() 求最小值
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入
Math.abs() 绝对值
Math.random() 随机数调用
  • Math.max() 最大值
  1. 有一个参数无法被转换成数字,则会返回 NaN
  2. 无参数返回 -Infinity
  • Math.floor()Math.ceil()Math.round() 取整
  • 随机数方法 Math.random()
  1. Math.random() 函数返回一个浮点数, 伪随机数在范围为 [0,1)
  2. 获取两个数之间随机整数(不含最大值)的方法:Math.floor(Math.random() * (max - min)) + min;
  3. 获取两个数之间随机整数(含最大值):

2. 日期对象


创建一个新 Date 对象的 唯一方法 是通过 new 操作符。例如:let now = new Date();

  • 若没有参数,则返回当前的系统时间
  • 参数写法
    1. 数字型:2021, 09, 18, 19, 44, 11 , 但是返回的月份和星期与实际不同
    2. 字符串型:'2021-09-18 19:44:11' , 最常用
  • 日期格式化
  • 获取日期总的毫秒形式(时间戳)

Date对象是基于 1970年1月1日(世界标准时间)起的毫秒数。毫秒数获取方法有

  1. valueOf()getTime()
  2. 利用 +new Date() 创建 Date 对象,常用
  3. Date.now(),H5 新增方法,使用时要考虑兼容性

  • 案例:倒计时效果

  1. 算法:用将来的时间戳减去现在的时间戳,最后转换为年月日时分秒
  2. 转换公式
    function countDown(time) {var nowTime = +new Date();var inputTime = +new Date(time);var times = (inputTime - nowTime) / 1000;   // 倒计时秒数var d = parseInt(times / 60 / 60 / 24);d = d < 10 ? '0' + d : d;var h = parseInt(times / 60 / 60 % 24);h = h < 10 ? '0' + h : h;var m = parseInt(times / 60 % 60);m = m < 10 ? '0' + m : m;var s = parseInt(times % 60);s = s < 10 ? '0' + s : s;return d + '天' + h + '时' + m + '分' + s + '秒';}console.log(countDown('2021-9-18 21:00:00'));

3. 数组对象


本节主要讲述了 创建数组的方式检测是否为数组添加删除数组元素数组排序数组索引数组转换为字符串

  • 创建数组的两种方式
  1. 字面量方式
 var arr = [1, 2, 3];
  1. new Array()
 var arr = new Array(2);            // 表示数组长度为 2 的 空数组var arr = new Array(1, 2, 3);    // 1,2,3 为数组元素
  • 检测是否为数组
  1. instanceof 运算符
  2. Array.isArray(参数), H5 新增方法
  • 添加或删除数组元素

  1. push(参数)
  2. unshift(参数)
  3. pop()
  4. shift()
  • 数组排序


  • 数组索引方法

  • 案例:数组去重

  • 数组转换为字符串



join() 可以指定分割符号,默认用逗号分隔

4. 字符串对象


为了方便操作基本数据类型,JavaScript 提供了三个特殊的引用类型:String、Number 和 Boolean

  • 基本包装类型

基本包装类型就是把简单数据类型包装成复杂数据类型,这样基本数据类型就有了属性和方法。下面看一段可执行代码:

 var str = 'andy';console.log(str.length);    // 4

基本数据类型是没有属性和方法的,但是为什么上面代码却可以执行呢?这是因为 JS 会把基本数据类型包装成复杂数据类型,执行过程如下:

 // 1. 生成临时变量,把简单类型包装成复杂数据类型var temp = new String('andy');// 2. 赋值给声明的字符变量str = temp;// 3. 销毁临时变量temp = null;
  • 字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

  • 根据字符返回位置


  • 根据位置返回字符


  1. charCodeAt(index) 主要用于判断用户按了哪个键
  2. str[index] 是 H5 新增内容
  • 案例

判断一个字符串 'abcorfoxyozzopp' 种字符出现的次数,并统计最大次数

 str = 'abcoefoxyozzopp';var o = {};for (var i = 0; i < str.length; i++) {var chars = str.charAt(i);if (o[chars] != undefined)o[chars]++;elseo[chars] = 1;}console.log(o);var max = 0;for (var k in o) {if (o[k] > max)max = o[k];}console.log(max);
  • 字符串操作方法


除此之外,常用的还有

  1. replace('被替换字符','替换成的字符')—— 替换字符
  2. split('分割符')—— 字符转为数组
  3. toUpperCase() —— 转为大写
  4. toLowerCase() —— 转为小写

二、简单数据类型与复杂类型


简单类型又叫做基本数据类型或 值类型,复杂类型又叫做 引用类型

  • 值类型

简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型。如 string,number,boolean,undefined,null

  • 引用类型

通过 new 关键字创建的对象(系统对象,自定义对象),如 Object,Array,Date

后续所讲简单数据类型传参、复杂类型传参和Java中值传递、地址传递相似,为提高学习效率,此处不再逐一赘述

JavaScript(四)—— JavaScript 内置对象/JavaScript 简单数据类型与复杂类型相关推荐

  1. JavaScript的常用内置对象

    JavaScript的常用内置对象 Math对象 Math对象的使用 练习 日期对象 日期对象的使用 日期对象的常用get方法 日期对象的常用set方法 练习 数组对象 数组类型检测 添加或删除数组元 ...

  2. jsp内置对象【02】四种内置对象【02】session、application

    我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...

  3. JavaScript常见的内置对象

    文章目录 系列文章目录 前言 一.Math数学对象 二.Date日期对象 三.数组对象 四.字符串对象 总结 前言 javaScript提供了多个内置对象:Math.Date.Array.String ...

  4. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍...

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

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

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

  6. JavaScript入门(part12)--内置对象

    学习笔记,仅供参考,有错必纠 参考自:pink老师教案 文章目录 JavaScript入门 内置对象 Math对象 日期对象 数组对象 字符串对象 JavaScript入门 内置对象 Math对象 ​ ...

  7. JavaScript中的内置对象

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

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

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

  9. JavaScript有哪些内置对象

    全局的对象( global objects ) 或称标准内置对象,不要和"全局对象 global object)"混淆.这里说的全局的对象是说在 全局作用域里的对象.全局作用域中的 ...

最新文章

  1. 【BZOJ-1113】海报PLA 单调栈
  2. 北京语言大学计算机调剂,北京语言大学2019考研调剂通知
  3. 用JS实现人脑和计算机交互,这个厉害了
  4. python join() 函数的用法
  5. 避免頁面重復提交3/15
  6. Ajax实现页面加载等待
  7. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用...
  8. IntelliJ IDEA 插件推荐
  9. Python--29 魔法方法:定制序列
  10. 为何吾博客周排名没有数字显示?
  11. 是否要从单片机转为嵌入式Linux?
  12. 移动光猫获取管理员密码过程记录(吉比特TEWA-272G)
  13. 苹果手机解压缩软件_照片压缩软件哪款好用?推荐5款好用的图片压缩软件
  14. 银河麒麟桌面操作系统V10node.js 14安装小助手
  15. 三角形,斜线,表头css实现方法
  16. 百度、微博的大数据算法Top10热搜怎么实现?
  17. 赛效:超级简历在线简历助手教您一键制作简历
  18. nginx的配置优化及经常使用的超时配置说明
  19. 我实测了国内外GPT,问了10个问题,差点把电脑砸了...
  20. 爱快支持服务器网卡嘛,爱快软路由硬件支持

热门文章

  1. RedisTemplate设置过期时间
  2. java baas_调试后台Baas(Java):调试用户自己的java代码
  3. canal 历史数据如何处理_MySQL日志解析工具Canal的使用
  4. Spring Cloud Greenwich 新特性和F升级分享
  5. U3D脚本开发基础(转载)
  6. margin 塌陷bug 触发bfc
  7. navicat修改表的主键自增长报错
  8. 最让人头疼的清洗数据过程----选择合适的方式快速命中所需的数据
  9. js原型链。。fuck
  10. 《走出软件作坊》读后感