lightsadness一起学习 一起成长

的文章
  • vue中使用SignalR实现消息的实时推送
    最近因为项目中涉及到了实时数据的传输,特地去了解了一下当前Web应用中常见的实时交互手段,当然一开始也不仅限于Web客户端。从c#自带的Socket类,到Html5中的WebSocket,再到Asp .Net利器SignalR,,最后我们要根据项目情况来选择恰当的技术。 SignalR是什么 由于后端小伙伴的技术方向是Asp .Net,所以他们后端选定的是SignalR; SignalR是一个.Net开源库,用于构建需要实时进行用户交互和数据更新的Web应用,如在线聊天,游戏,天气或者股票信息更新等实时应用程序。SignalR简化了构建实时应用的过程,它包括了一个Asp .Net服务器端库和一...
    •  0
    •  0
    •  2020-10-09
  • js中的扁平化数据与树状结构数据的相互转换
    扁平化数据与树状数据 在开发过程中,前后端数据交互时后端同事为了省时省力,会直接把从数据库查出的扁平化数据不经格式处理直接在接口中返给前端,例如以下数据: let arr= [     { id: 1, parent_id: 'root', name: 'name1' },     { id: '2-1', parent_id: 2, name: 'name2' },     { id: '4-1', parent_id: 4, name: 'name3' },     { id: '2-2', parent_id: 2, name: 'name4' },     { id: '3-2', p...
    •  1
    •  2
    •  2020-06-09
  • 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