认识时间对象
js 内用来记录事件的数据结构, 是一个引用数据类型
创建时间对象
var time = new Date()- 返回值是当前终端的时间信息
创建指定时间节点的时间对象:
var time = new Date(形参)- 参数方式有两种
- 传递数字
- 传递字符串
- 格林威治时间: 1970/1/1 0:0:0:0ms
定时器
浏览器提供的一个异步执行代码的机制
- 开启定时器
- 延时定时器:
setTimeout(fn, ms) - 间隔定时器:
setInterval(fn, ms)
- 定时器返回值
- 就是一个数字, 从 1 开始
- 不区分定时器种类, 统一用来表示是页面上第几个定时器
- 关闭定时器
- 不区分定时器种类
- 只要定时器返回值正确, 就可以
clearTimeout(setTimeou(fn, ms))clearInterval(setInterval(fn, ms))
异步代码执行机制
- 同步(非异步)
- 浏览器解析 js 代码的正常机制
- 按照代码的书写顺序, 从上到下从左到右依次执行每一行代码
- 如果遇到长时间完成的代码, 也必须等待执行完毕
- 异步
- 浏览器提供的 异步 解析机制
- 代码执行到异步时
- 先把异步代码放在队列内等待, 暂时不执行
- 继续向后执行同步代码
- 直到所有同步代码执行完毕, 才会返回执行 队列内 等待的异步代码
认识字符串
js 内的基本数据类型, 也是一个包装数据结构
包装数据结构
- 平时存储时, 按照 基本数据类型 , 直接存储在 栈 内
- 使用时, 会转化为 引用数据类型 , 在 堆 内开辟空间, 存储内容
- 使用完毕, 再转化回 基本数据类型, 存储在 栈 内
创建字符串
- 字面量方式创建
var str = 'hello'
var str = "hello"
var str = `hello`
// 建议: 在不拼接变量时, 尽量不要用反引号(``)
- 内置构造函数方式创建
var str = new String('hello')
字符串的常见操作
- length
string.length - index
string[0] - 遍历
模板字符串
使用反引号定义的字符串称为 模板字符串
- 和 普通字符串 的区别
- 可以换行书写
- 可以直接解析变量
var n = 'jack'
var str = `hello ${n}`
查询字符串
用于前后端交互 var str = 'key=value&key2=value2&...'
JSON 格式字符串
用于前后端交互var str = {'name': 'Jack','age': 10}