JS入门(DAY 05) PS:纯个人笔记, 批评欢迎, 喷子勿扰

79 阅读2分钟

认识时间对象

js 内用来记录事件的数据结构, 是一个引用数据类型

创建时间对象

  • var time = new Date()
  • 返回值是当前终端的时间信息

创建指定时间节点的时间对象:

  • var time = new Date(形参)
  • 参数方式有两种
  1. 传递数字
  2. 传递字符串
  • 格林威治时间: 1970/1/1 0:0:0:0ms

定时器

浏览器提供的一个异步执行代码的机制

  • 开启定时器
  1. 延时定时器: setTimeout(fn, ms)
  2. 间隔定时器: setInterval(fn, ms)
  • 定时器返回值
  1. 就是一个数字, 从 1 开始
  2. 不区分定时器种类, 统一用来表示是页面上第几个定时器
  • 关闭定时器
  1. 不区分定时器种类
  2. 只要定时器返回值正确, 就可以
  3. clearTimeout(setTimeou(fn, ms))
  4. clearInterval(setInterval(fn, ms))

异步代码执行机制

  • 同步(非异步)
  1. 浏览器解析 js 代码的正常机制
  2. 按照代码的书写顺序, 从上到下从左到右依次执行每一行代码
  3. 如果遇到长时间完成的代码, 也必须等待执行完毕
  • 异步
  1. 浏览器提供的 异步 解析机制
  2. 代码执行到异步时
  3. 先把异步代码放在队列内等待, 暂时不执行
  4. 继续向后执行同步代码
  5. 直到所有同步代码执行完毕, 才会返回执行 队列内 等待的异步代码

认识字符串

js 内的基本数据类型, 也是一个包装数据结构

包装数据结构

  • 平时存储时, 按照 基本数据类型 , 直接存储在 栈 内
  • 使用时, 会转化为 引用数据类型 , 在 堆 内开辟空间, 存储内容
  • 使用完毕, 再转化回 基本数据类型, 存储在 栈 内

创建字符串

  • 字面量方式创建
var str = 'hello'
var str = "hello"
var str = `hello`
// 建议: 在不拼接变量时, 尽量不要用反引号(``)
  • 内置构造函数方式创建
  1. var str = new String('hello')

字符串的常见操作

  1. length string.length
  2. index string[0]
  3. 遍历

模板字符串

使用反引号定义的字符串称为 模板字符串

  • 和 普通字符串 的区别
  1. 可以换行书写
  2. 可以直接解析变量
var n = 'jack'
var str = `hello ${n}`

查询字符串

用于前后端交互 var str = 'key=value&key2=value2&...'

JSON 格式字符串

用于前后端交互var str = {'name': 'Jack','age': 10}