javaScript
文章平均质量分 52
韩韩二水
这个作者很懒,什么都没留下…
展开
-
JS 0.1+0.2的理解
JS红皮书里面介绍浮点数值时有提到,0.1+0.2结果不是0.3,而是0.30000000000000004为了解除心中的疑惑,在网上看了很多文章,才弄懂其中的原理,在这里记录下来。1.对于计算机而言,两个数字在相加时是以二进制形式进行的,在呈现结果时才转换成十进制。JS中的数字是用IEEE 754 双精度 64 位浮点数来存储的,它由64位组成,这64位由3部分组成,(S:符号位,Exponent:指数域,Fraction:尾数域)。具体结构如下图:2.十进制小数转换为二进制小数:用2乘原创 2021-11-21 14:53:21 · 2664 阅读 · 0 评论 -
js的 深拷贝与浅拷贝
对于这个问题,可以考虑从深拷贝和浅拷贝的使用或者起源说起,也就是为什么会出现这个问题。首先了解一些javascript的基本知识。1.javascript变量包含两种不同数据类型的值:基本类型和引用类型。基本类型值指的是简单的数据段,包括es6里面新增的一共是有6种,具体如下:number、string、boolean、null、undefined、symbol引用类型值指那些可能由多个值构成的对象,只有一种如下:object在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值原创 2021-11-21 14:21:46 · 172 阅读 · 0 评论 -
JS hasOwnProperty()方法:检测一个属性是否是对象的自有属性
JavaScript hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 hasOwnProperty() 方法。hasOwnProperty() 方法用来检测一个属性是否是对象的自有属性,而不是从原型链继承的。如果该属性是自有属性,那么返回 true,否则返回 false。换句话说,hasOwnProperty() 方法不会检测对象的原型链,只会检测当前对象本身,只有当前对象本身原创 2021-11-21 14:14:19 · 326 阅读 · 0 评论 -
深拷贝函数 cloneDeep
function cloneDeep (obj){ // 1.判断是否为null 或undefined if (typeof obj == null ) return obj; // 2.判断是否为日期Date if (obj instanceof Date) return new Date(obj); // 3.判断是否为正则 typeof /\d+/ === 'object' if (obj instanceof RegExp) return new RegExp(obj);原创 2021-11-21 14:04:50 · 1225 阅读 · 0 评论 -
VUE树形递归
<script>//树形递归 TreeConcat(data){ // 删除 所有 children,以防止多次调用 data.forEach(function (item,index) { item.label = item.name delete item.children; }); // 将数据存储为 以 id 为 KEY 的 map 索引数据列 var map = {}; d原创 2021-03-24 10:42:24 · 858 阅读 · 0 评论 -
2020前端高频面试题总结(附答案)
[ js基础题 ]1. new的实现原理是什么? 1. 创建一个空对象,构造函数中的this指向这个空对象 2. 这个新对象被执行 [[原型]] 连接 3. 执行构造函数方法,属性和方法被添加到this引用的对象中 4. 如果构造函数中没有返回其它对象,那么返回this,即创建的这个的新对象,否则,返回构造函数中返回的对象。2. 深拷贝和浅拷贝的区别是什么 1.深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制。 2.深拷贝后的对象与原来的对象是完全隔离的,互不影响,原创 2021-03-01 11:11:52 · 3773 阅读 · 11 评论