栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JS重点总结(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JS重点总结(1)

dom模型,事件委托的优缺点

事件委托就是:利用冒泡的原理,把事件添加到父元素上,委托它们父级代为执行事件

优点:提高性能,减少内存,对于新添加的元素也会有之前的事件

缺点:

1. 事件委托基于冒泡,不冒泡的事件不支持
2.层级过多,冒泡过程中可能被中间层阻止
3.如果把所有事件都用事件委托,可能会出现事件误判,即不该触发事件的被绑定了

0.1+0.2 = 0.3?

0.1+0.2 = 0.30000000000000004

首先浮点值的精确度最高可达17位小数

两数相加时,会将两束转换成二进制数,0.1和0.2转为二进制时尾数会发送无限循环,JS引擎对二进制进行截取,会造成精度的丢失。

Number整型的最大存储空间?

JavaScirpt 使用 Number 类型来表示数字(整数或浮点数),遵循 IEEE 754 标准,通过 64 位来表示一个数字(1 + 11 + 52)

  • 1----表示符号位 0是正数,1是负数
  • 11 ----指数位
  • 52 -----尾数,小数部分(有效数字)

其实这都是因为浮点数运算的精度问题。

简单来说,因为计算机只认识二进制,在进行运算时,需要将其他进制的数值转换成二进制,然后再进行计算。

浮点数用二进制表达时是无穷的。IEEE 754 标准的 64 位双精度浮点数的小数部分最多支持53位二进制位,所以两者相加后,因浮点数小数位的限制而截断的二进制数字,再转换为十进制,就成了 0.30000000000000004,所以在进行算术计算时会产生误差。

手写一个new,实现相同功能

new在创建实例对象中过程: 

  1. 创建一个新对象
  2. 将新对象的_proto_指向构造函数的prototype对象
  3. 将构造函数的作用域赋值给新对象 (也就是this指向新对象)
  4. 执行构造函数中的代码(为这个新对象添加属性)
  5. 返回新的对象
v-for中key属性的作用

key的作用主要是为了更高效的对比虚拟dom中的某个节点是不是相同节点,是用来提高diff算法的性能表现。更具体一点,vue在patch过程(执行diff的算法,可翻译为打补丁算法)中判断两个节点是否是相同节点,key值相同是一个必要条件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号