谈谈计算机相关原理
内存机制
对于前端来说,理解计算机原理的内存机制可以帮助前端应用项目的性能及优化
- 内存管理
- 处理变量的内存分配和释放
- 合理使用变量作用域、垃圾回收等技术
- 减少内存泄漏
- 内存优化
- 对于减少内存的占用,可以通过优化图片、减少全局变量、使用压缩和缓存
- 优化图片可以减少页面加载时的内存占用
- 全局变量存储在全局作用域中,在整个应用的都存在,占用内存空间是比较大的
- 优化图片可以减少页面加载时的内存占用
- 对于减少内存的占用,可以通过优化图片、减少全局变量、使用压缩和缓存
- 存储变量
- 基本数据类型用
栈内存存储,引用数据类型用堆内存存储 - 闭包变量是存在堆内存中的
- 因为函数内部的变量引用外部函数的作用域,当函数执行完之后,引用还存在
- 基本数据类型用
图片占据的内存
图片在计算机中占据内存的大小取决于多个因素, 比如图片的格式、分辨率等等
- 图片格式:图片格式比如有jpg、png,jpg是有损压缩的,png是无损压缩的,无损压缩是占更多的内存空间
- 分辨率: 图片的分辨率越高,即像素数量越多,所占用的内存也就越大
计算机存储单位有字节(Byte,或B)、千字节(KB)、兆字节(MB)
0.1 + 0.2 != 0.3理解
由于计算机无法对十进制进行运算 ,需要转换二进制,十进制小数0.1和0.2在转换二进制过程中出现无限循环,造成了精度丢失
理解进制
JavaScript 中提供的进制表示方法有四种:十进制、二进制、十六进制、八进制。
- 十进制(Decimal):
取值数字
0-9;不用前缀。 - 二进制(Binary):
取值数字
0和1;前缀0b或0B。 - 十六进制(Hexadecimal):
取值数字
0-9和a-f;前缀0x或0X。 - 八进制(Octal):
取值数字
0-7;前缀0o或0O(ES6规定)。
数字是如何转二进制的?
- 小数转换成二进制小数采用" 乘2取整,顺序排列" 法
- 十进制整数转换为二进制整数采用" 除2取余,逆序排列 "法
二进制是如何计算的?
在二进制中,每个位(从右到左)代表一个2的幂,其指数与位数相同
如:10101110
- 得到174,即十进制为174
二进制是如何存储的?
在计算机内存中,每个二进制位都代表一个0或1,8位二进制称为一个字节
-
整数和小数都可以使用二进制来表示。在计算机中,负数通常使用补码表示。补码是将数值取反并加上1得到的值。例如,-5的补码为11111011。
-
计算机中,二进制数通常是以补码的形式存储的。