- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 node mysql和mysql2有什么区别
本文对node的mysql和mysql2模块做了简单的对比,我们做了个小实验对比了两者在插入和查询的性能对比,当然这只是一个小实验,场景简单,样本也比较少,但是还是能看出mysql2的性能更优。从整个对比来看,mysql2在新技术特性适配和性能上明显优于mysql模块。如果是新项目或者项目比较好更新,建议使用mysql2,如果使用第三方封装的mysql库,可以看下是基于哪个mysq模块,如果没有依赖亦可以对比下其与mysql2的性能。
2025-01-14 09:46:31
724
原创 深入Promise-3: 手撸一个Promise
深入了解,最简单的方法就是阅读其源码,但是v8的Promise源码对前端来说阅读起来十分晦涩。本文直接带你用前端的方式手撸一个Promise,让你直接深入了解Promise
2024-12-16 11:29:24
718
原创 一文带你读懂现代浏览器架构
从单进程到多进程到服务化,浏览器的架构也是随着硬件、操作系统、用户需求、新技术的发展不断的向前演化,这些演化也不是一蹴而就,是一个漫长的持续过度的过程。从整个浏览器的进化史,我们也能了解到时代的变化带来机遇,前端由简单的页面展示到现在覆盖多端多设备,越来越多的业务和应用选择在web上实现,浏览器的进化起到至关重要的作用。而今后,浏览器还会不断的演进,满足更多的需求,覆盖更多的场景,例如:当下的VR、Aiot等等。作为以浏览器为主的前端人员,我们应该紧跟时代脚步,不要错过这波红利。
2024-12-13 09:40:51
1081
原创 什么?你居然不知道SSE?
本文介绍了SSE,我们了解了下SSE实现的基本原理,基于SSE实现了一个简单的消息数量更新的demo。相对于WebSocket,SSE更加轻量一些,如果是服务端单向的数据推送的话,可以尝试SSE来实现。
2024-12-12 09:15:56
1328
原创 手把手教你解决Electron安装失败
Electron安装失败:Electron failed to install correctly, please delete node_modules/electron and try installing again,手把手教你解决
2024-12-11 09:30:21
4156
原创 transition修改宽度无效问题
我想实现一个动画效果,页面是一个信息列表,我希望在点击列表项时,从列表右侧展示详情信息,在详情展示的时候,列表宽度先左缩小,详情展示出来。注意,这里说的是不同状态间的切换,也就是说,执行动画的元素必须从一个状态转换到另一个状态。过渡可以为一个元素在不同状态之间切换的时候定义不同的过渡效果。比如在不同的伪元素之间切换,像是。一个初始的状态,这个元素默认是没有宽度的,所以直接修改宽度并没有效果。因为使用vue开发,在详情展示的时候为列表和详情加上class即可。或者通过 JavaScript 实现的状态变化。
2024-12-11 09:15:37
265
原创 避免javascript打开新窗口被拦截
新窗口打开页面,一个很常用的效果,至于代码,一般第一反应都是这么写:window.open(url);但是主流的浏览器都会拦截这种效果(这年头弹窗广告太多了,不拦截用户受不了)为了避免弹窗被拦截,一般都是利用a标签来打开一个新的页面,利用a标签的target="_blank"属性,一般根据情况使用下面这两种方法:1、由点击事件触发新窗口打开:可以将触发点击的按钮改成: ...
2014-12-22 14:20:29
7649
原创 使用window.location跳转页面在火狐上无法触发的问题
为了兼容ie跟chrome,我在js跳转当前页面的时候使用了window.location.href="url"的写法,其他浏览器测试都ok了,但是偏偏在火狐上面无效。研究了半天,发现一个很奇葩的问题,在同一个页面的其他js代码里面使用了onclick="window.location.href='url'"的写法又可以跳转页面。没办法,只好查查是什么原因引起的咯,在跳转之前,页面上使用了一个
2014-08-05 11:58:23
7133
原创 关于ie6的a标签的那点事
遇到一个很郁闷的问题,为了方便写了一段这样类型的html+js: hello function hello(){ /*do something*/ } 在chrome和firfox、ie7、8都没问题,但是在ie6上面点击事件触发后hello函数不执行。没办法只好做了个测试,用htmlwatch查看,发现在ie6上面hello里面的网络请求全都被阻止了,不执行了
2014-03-16 00:28:47
921
原创 小心onpropertychange在ie8上的地雷
onpropertychangeonpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的
2014-01-09 21:43:21
2325
原创 关于表单提交按钮多次点击多次触发的解决方法
今天在做表单提交的时候遇到一个问题,我用ajax去提交表单,使用一个submit类型的input去触发提交时间。然后就出现一个问题,快速点击按钮会触发多次提交。然后我就在点击的时候将input置为disable,在提交结束后再取消disable,但是没有效果。查了下资料发现这个方法貌似对input无效。最后实在没办法,我就换了一个很原始的方法,在按钮下面加一个span标签,背景跟按钮一样。然后
2013-01-21 22:07:43
5346
原创 javascript中的全局变量和局部变量
最近写了很多js相关的程序,发现很多没有真正去接触或很少接触代码在计算机上运行的机制的前端工程师经常犯的一个错误:过度的使用全局变量,特别是document这个全局,在大量使用js的页面中很容易造成卡顿的现象。变量,简单的来说就是分为全局变量和局部变量。由于作用域的不同,js对这两种变量的处理方式也不同。在js中变量是以栈的形式来进行保存的。栈的规则是后进先出,对于document这个自带的全
2013-01-20 23:41:11
617
原创 使用jq实现瀑布流闭包-2
继续上一次的瀑布流,这次贴代码,代码很简单的,各位一看就能懂css:li{ list-style-type:none;}.box{position:relative; width:auto; height:auto;} .listBox li{width:210px; height:auto;}.top_page{ width:180px; height:auto; padding
2012-12-17 20:57:32
646
原创 使用jq实现瀑布流闭包-1
瀑布流是一种比较常见的网页排布,多用于产品展示或者一些特殊的列表(需要图文结合或者纯图片的列表)。在这些列表中因为图片的大小不一不能进行统一的宽高进行矩阵式排列,所以产生了瀑布流。瀑布流对于图片的展现,是高效而具有吸引力的,用户一眼扫过的快速阅读模式可以在短时间内获得更多的信息量,而瀑布流里懒加载模式又避免了用户鼠标点击的翻页操作,瀑布流的主要特性便是错落有致,定宽而不定高的设计让页面区别于传统的
2012-12-16 00:14:17
939
原创 C#串口类简介
C#串口通信:MSComm控件使用详解 MSComm控件两种处理通讯的方式CommPort属性RThreshold 属性CTSHolding 属性SThreshold 属性CDHolding 属性DSRHolding 属性Settings 属性InputLen 属性EOFEnable 属性Handshake 常数OnComm 常数InputMode 常数
2010-12-08 14:04:00
1213
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人