lightsadness一起学习 一起成长

的文章
  • js数据的浅拷贝与深拷贝
    无论前端还是后端,经常要用到数据的拷贝,这就分成了浅拷贝与深拷贝。 浅拷贝与深拷贝区别 浅拷贝和深拷贝的区别表现在引用数据类型上,浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存;但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象;所以浅拷贝只复制对象的第一层属性、深拷贝可以对对象的属性进行递归复制。 想要理解上面一段话,我们要搞清浏览器开辟空间存储js数据的方式,众所周知,js的数据分为基本数据类型和引用类型。 基本数据类型有哪些,number,string,boolean,null,undefined,symbol以及未来E...
    •  3
    •  1
    •  2020-05-30
  • vue系列之封装组件
    开个系列的文章记录一下自己封装vue组件的经历,就以弹窗组件为例: 1.局部封装(基础组件): 新建一个vue的基础组件,把公用的数据和方法提取出来,弹窗要注意阴影遮罩层 //html结构 <template>     <div class="dialog">         <div class="dialog-cover back" v-show="show"></div>             <div class="modal-container" v-show="show">                 <div class="modal-header">{{ title }}...
    •  1
    •  0
    •  2020-05-25
  • JS面试经:继续js的面试之路
    接着上一期我们继续来倒腾有关变量提升的js考题,话不多说,先看代码 fn(); function fn() { console.log(1); } fn(); function fn() { console.log(2); } fn(); var fn = function fn() { console.log(3); } fn(); function fn() { console.log(4); } fn(); function fn() { console.log(5); } fn(); 上述代码要执行下来首先弄清楚一点,函数是可以重复声明的,这就是函数的重载,这一点不同于java,py...
    •  2
    •  0
    •  2020-05-23
  • JS面试经:从几个小问题走进js
    1.变量提升 首先看两段段代码,写出结果 console.log(a); //undefined var a=1; var b=a; b=3; console.log(b); //3 console.log(sum(1,2)); //3 function sum(n,m) {     return n+m; } 先不着急看结果,先分析一下,js操作浏览器的语言,要执行代码浏览器就得开辟出一片空间,这个空间就是栈/堆内存;但是开辟空间以后,代码并没有自上而下立即执行,而是把当前作用域中带 var/function关键字的变量纪念性提前的声明和定义,这个就是变量提升;但是要注意 有var关键...
    •  3
    •  0
    •  2020-05-22