JavaScript 前端设计模式 | 青训营笔记

81 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的的第 3 天

数据类型

数据类型决定了一个数据的特征,比如:123和”123”,直观上看这两个数据都是123,但实际上前者是一个数字,而后者是一个字符串。

对于不同的数据类型我们在进行操作时会有很大的不同。

JavaScript中一共有5种基本数据类型:

字符串型(String) 数值型(Number) 布尔型(Boolean) undefined型(Undefined) null型(Null) 这5种之外的类型都称为Object,所以总的来看JavaScript中共有六种数据类型。

2.3.2、typeof运算符

使用typeof操作符可以用来检查一个变量的数据类型

2.3.3、String

String用于表示一个字符序列,即字符串。字符串需要使用 单引号 或 双引号 括起来。

2.3.4、Number

Number 类型用来表示整数和浮点数,最常用的功能就是用来表示10进制的整数和浮点数。

Number表示的数字大小是有限的,如果超过了这个范围,则会返回 ±Infinity。

最大值:+1.7976931348623157e+308 最小值:-1.7976931348623157e+308 0以上的最小值:5e-324 特殊的数字:

Infinity:正无穷 -Infinity:负无穷 NaN:非法数字(Not A Number) 2.3.5、Boolean

布尔型也被称为逻辑值类型或者真假值类型。

布尔型只能够取真(true)和假(false)两种数值。除此以外, 其它的值都不被支持。

2.3.6、Undefined

Undefined 类型只有一个值,即特殊的 undefined。

在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined。

2.3.7、Null

Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null。

undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true。

设计模式

  • 创建型:如何创建一个对象
  • 结构型:如何灵活地将对象组装成较大的结构
  • 行为型:负责对象间的搞笑通信和职责划分

浏览器中的设计模式

单例模式

存在一个全局唯一访问的对象,在全局人任意地方访问到的都是同一个对象,其中最常见的就是浏览器中的 window

应用场景

全局的缓存、全局状态管理等。

单例模式实现请求缓存的例子

import { api } from './utils'const cacheRecord<string, string> = {}; export const request = async (url: string) => { if(cache[url]) return cache[url]; const response = await api(url); return (cache[url] = response); }