基本引用类型

Date

  1. 在不给定时间的情况下创建Date实例,创建的对象将保存当前的日期和时间。
  2. 要基于其他时间创建Date对象,必须传入其毫秒时表示
    1. Date.parse()

      1. 月/日/年(5/21/2022)
      2. 月名 日, 年(May 21, 2022)
      3. 周几 月名 日 年 时:分:秒 时区(Tue May 23 2022 00:00:00 GMT-0700)
      4. YYYY-MM-DDTHH:mm:ss.sssZ(2019-05-23T00:00:00只适用于兼容ES5的实现
    2. Date.UTC(年,月,日,时,分,秒):返回日期的毫秒表示

继承的方法

日期格式化方法

日期/时间组件方法

RegExp

原始值包装类型

Boolean

  1. Boolean会重写valueOf()方法,返回原始值true 或者 false。toString()方法被调用时也会被覆盖
let falseObj = new Boolean(false); 

let result = falseObj && true; // 所有对象在bool表达式中都会转换为true

console.log(result); // true

let falseVal = false;

result = falseVal && true;

console.log(result); // false

Number

  1. 重写了valueOF() toLocalString() toString()
  2. toFixed() 0~20个小数位
  3. 科学计数法:toExponential()
  4. 返回最合理的输出结果:toPrecision()
  5. isInteger()是否为整数

String

常用方法:

  1. normalize()方法
  2. 字符串操作方法
    1. slice()
    2. substr()
    3. substring()
    4. 第一个参数表示字符串开始位置,第二个参数表示结束位置
    5. 对于substr()而言,第二个参数表示截取的子字符数量
  3. 字符串位置方法
    1. indexOf(str, idx)
    2. lastIndexOf(str, idx)
    3. 在字符串中搜索传入的字符串,并返回位置,没找到则返回-1
    4. indexOf从头开始查找
    5. lastIndexOf从末尾开始
    6. 第二个参数的意思是从指定位置开始查找
  4. 字符串包含方法
    1. startsWith(str):是否以str开头
    2. endWith(str):是否以str结尾
    3. includes(str):是否包含str
    4. 搜索传入的字符串,并返回一个bool值
  5. trim()方法:创建字符串的副本,删除前后所有的空格,再返回结果
  6. repeat(times)方法:返回将字符串拼接times次之后的结果
  7. padStart(len, str)和padEnd(len, str)方法
    1. 将字符串用指定str拼接成长度为len的字符串
    2. padStart是在开头填充
    3. padEnd是在结尾填充
  8. 字符串迭代器与解构
let message = 'abc';

let stringIterator = message[Symbol.iterator]();  

console.log(stringIterator.next()); // {value: 'a', done: false}
for (const c of message) console.log(c); // a b c
console.log([...message]); // ['a', 'b', 'c']
  1. 字符串大小写转换

    1. toLowerCase()
    2. toLocaleLowerCase()
    3. toUpperCase()
    4. toLocaleUpperCase()
    5. local: 针对特对地区实现,如果不知道代码涉及什么语言,最后使用local
  2. 字符串模板方法
    1. match(): 本质上和RegExp对象的exec()方法相同,接受一个参数(可以说正则表达式、RegExp对象)
    2. search(): 始终返回第一个匹配的位置,其余与match相同
    3. replace(): 替换
    4. split(): 根据传入的分隔符将字符串拆分成数组
  3. localCompare() 方法:实现所在的地区决定了这个方法如何比较字符串
  4. HTML方法

单例内置对象

Global

/**

 * encodeURI()

 * encodeURIComponent()

 *

 * decodeURI() 只对encordURI()编码的字符进行解码

 * decodeURIComponent() 解码所有被encodeURIComponent()编码的字符

 */

let url = 'http:// www.azoux.com/azou domy.js'

console.log(encodeURI(url)); // http://%20www.azoux.com/azou%20domy.js

console.log(encodeURIComponent(url)); // http%3A%2F%2F%20www.azoux.com%2Fazou%20domy.js

/**

 * eval()方法:这个方法就是一个完整的ECAMScript解释器,它接受一个参数,即一个要执行的JavaScript字符串

 * 当解释器发现eval时,会把eval中的代码插入到该位置

 * 通过eval调用的代码,属于调用所处的执行上下文

 */

eval('console.log("azoux");');

// 等价于 console.log("azoux");

/**

 * Global 对象属性

 * 有个表格,基本都是一些构造函数和特殊值

 */

/**

 * window对象

 * 浏览器将window对象实现为Global对象的代理

 * 另一种获取Global对象的方式

 */

let global = function () {

 return this;

}();

console.log(global); // window

Math

/**

 * Math对象属性: 具体查表

 */

/**

 * min()和 max()方法

 * 用于确定一组数值的最大最小值

 */

console.log(Math.min(...[1, 2, 3, 4, 5, 6])); // 1

console.log(Math.max(...[1, 2, 3, 4, 5, 6])); // 6

/**

 * 舍入方法

 * Math.ceil(): 始终向上舍入为最接近的整数

 * Math.floor():始终向下舍入为最接近的整数

 * Math.round():四舍五入

 * Math.fround():返回数值最接近的单精度(32位)表示

 */

/**

 * random()方法:随机返回0~1之间的小数

 */

/**

 * 其他方法:查表

 */

Javascript高级程序设计第五章 | ch5 | 阅读笔记的更多相关文章

  1. javascript高级程序设计第三章的一些笔记

    [TOC] 1. 语法 1.1 区分大小写 变量.函数名和操作费都区分大小写. 1.2 标识符 标识符指变量.函数.属性的名字,或者函数的参数.标识符按以下规则组合: 第一个字符必须是一个字母,下划线 ...

  2. 《JavaScript高级程序设计》——第二章在HTML使用JavaScript

    这章讲的是JavaScript在HTML中的使用,也就是<script>元素的属性.书中详细讲了async.defer.src和type四个<script>的属性. 下面是对第 ...

  3. JavaScript 高级程序设计 第5章引用类型 笔记

    第五章 引用类型 一.object类型 1.创建方法: 1.使用new 操作符创建 var person=new object() Person.name=”Nicholasa” Porson.age ...

  4. 《JavaScript 高级程序设计》第一章:简介

    JavaScript 历史 JavaScript的诞生的主要是当时的 netspace 公司谋求为自己的浏览器 Navigator 添加一种脚本语言,以便在本地客户端进行一些行为操作,而这一功能的需求 ...

  5. JavaScript高级程序设计第20章JSON 笔记 (学习笔记)

    第二十章 JSON 1.Json 可以表示三种类型的值: 1.简单值: 表示数值:5  表示字符串:“hello wrold”注表示字符串时必须使用双引号 2.对象: {“name”:“mi”,”ag ...

  6. JavaScript高级程序设计第14章表单脚本 (学习笔记)

    第十四章 表单脚本 1.阻止默认表单提交 1.提交表单数据 1.使用type=submit提交按钮 2.使用submit():方法 注意:当用户点击提交按钮时,会触发submit事件,从而在这里我们有 ...

  7. 读书时间《JavaScript高级程序设计》五:DOM

    DOM(文档对象模型)是针对HTML文档的一个API,描绘了一个层次化的节点树,可以添加.移除.修改页面的某一部分. 一个简单的文档结构 <!DOCTYPE html> <html& ...

  8. 《JAVASCRIPT高级程序设计》第一章

    在使用调制解调器的时代,频繁的表单验证对客户端来说是一个很大的负担,javascript,作为一种专门进行表单验证的客户端脚本语言诞生了.到今天,javascript早已超越了当初设定的角色.Java ...

  9. 《JavaScript高级程序设计》——第一章JavaScript简介

    第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMA ...

  10. javascript高级程序设计第5章,引用类型

    object类型: 创建object实列的方式有两种,一种是new()方法,一种是对象字面量表示法: 第一种法方:  var obj = new object(); obj.name = 'name' ...

随机推荐

  1. EMR on ACK 全新发布,助力企业高效构建大数据平台

    ​简介: 阿里云 EMR on ACK 为用户提供了全新的构建大数据平台的方式,用户可以将开源大数据服务部署在阿里云容器服务(ACK)上.利用 ACK 在服务部署和对高性能可伸缩的容器应用管理的能力优 ...

  2. [FAQ] Windows 终端 `git diff` 出现 LF 空格 ^M 符号, 处理方式

      可能是终端内的换行配置和 IDE 当中的不一致. 比如 PHPStorm 的: Git 终端使用 git config core.autocrlf 查看是 true 还是 false. 是 tru ...

  3. [FAQ] Solidity 合约销毁 ?

    仅创建者可以销毁合约的示例: address public owner; // When deploy contract constructor() public { owner = msg.send ...

  4. dotnet 读 WPF 源代码笔记 为什么自定义的 UserControl 用户控件不能跨程序集继承

    从设计上,用户控件 UserControl 就不是一个合适用来多次继承的类型,更不要说进行跨程序集继承自定义的 UserControl 用户控件.对于大部分的用户控件来说,都是采用组合现有的控件来实现 ...

  5. dotnetCampus.UITest.WPF 一个支持中文用例的界面单元测试框架

    本文来安利大家一个支持使用中文做用例名的 WPF 界面 UI 单元测试框架 卖点 有没有觉得命名太难?有没有觉得单元测试的命名更难?没错,这是一个业界的大问题.很多团队都会因为单元测试的用例函数命名太 ...

  6. 9.按需创建PV和PVC并使用

    官方文档:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-stor ...

  7. mosquitto的安装与使用

      一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机.嵌入式 ...

  8. SpringBoot注入时设置《多例》

    SpringBoot设置多例 1.准备数据 测试接口 package com.cc.jschdemo.springmultiton; /** * <p>spring多例测试</p&g ...

  9. gorm 如何对字段进行comment注释?

    type User struct { Model Name string `gorm:"type:char(30);comment:'姓名'"` }

  10. Pytorch:使用Tensorboard记录训练状态

    我们知道TensorBoard是Tensorflow中的一个强大的可视化工具,它可以让我们非常方便地记录训练loss波动情况.如果我们是其它深度学习框架用户(如Pytorch),而想使用TensorB ...