• Web端非常有用的一个文件上传插件——FilePond

    介绍FilePond是一个JavaScript库,它提供流畅的拖放文件上传功能。可以上传任何你扔在它上面的东西,优化图像以便更快地上传,并提供一个非常优雅的、可靠的、平滑的用户体验。Github基于MIT开源协议https://github.com/pqina/filepond适配框架核心库是用普通JavaScript编写的,因此可以在任何地方使用。可以在不同的框架中使用,提供...

    Javascript 2020年11月21日 29 0
  • 一款思维导图显示编辑javascript类库jsmind

    jsMind 是一个显示/编辑思维导图的纯 javascript 类库,其基于 html5 的 canvas 进行设计。jsmind我们介绍下一个简单示例,本文仅做一个推荐。下载资源1.我们在github上下载该项目,里面包含了jsmind的js和css文件。github地址:https://github.com/hizzgdev/jsmind 。或者自行在github上搜索 ...

    Javascript 2020年11月13日 66 0
  • 手写 Promise

    前言都 2020 年了,Promise 大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合 PromiseA+ 规范的 Promise。附 PromiseA+ 规范地址: https://promisesaplus.com/简单版我们都知道 Promise 的调用方式,new Promise(executor), executor 两个参数,re...

    Javascript 2020年10月21日 102 0
  • Unable to preventDefault inside passive event listener due to target being treated as passive.

    在Chrome下调试时,忽然发现有一个错误日志,日志信息如下:Unable to preventDefault inside passive event listener due to target being treated as passive.所有的操作好像都是正常的,但为什么还出现这样的错误提示呢。虽然不影响使用,但还是不想放过任何一个问题。 翻译一下:chrome ...

    Javascript 2020年10月20日 111 0
  • 理解JavaScript中的浅拷贝与深拷贝

    浅拷贝在使用JavaScript对数组进行操作的时候,如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生var arr = ['aa','bb','cc'];var arr2 = arr;arr2[0] = '新来的';console.log(arr);//输出 '新来的','bb','cc'由此可见对数组arr2进行修...

    Javascript 2020年10月12日 139 0
  • JavaScript对于页面适配,你应该使用px还是rem

    css中的单位很多,%、px、em、rem,以及比较新的vw、vh等。每个单位都有特定的用途,比如当需要设置一个矩形的宽高比为16:9,并且随屏幕宽度自适应时,除了用%,其他单位是很难做到的。所以不存在说某个单位是错误的,某个单位是最好的这种说法。那本文说的页面适配,指的是同样的布局,在不同大小的屏幕上怎么进行缩放、控制间距、宽高、字号等大小。页面适配的方式有很多:使用px,结...

    Javascript 2020年10月11日 160 0
  • 关于Firefox火狐浏览器下使用sortable.js进行拖拽时打开新窗口页面的问题处理

    最近使用Sortable.js开发拖拽的功能,但在Firefox浏览器下遇到一个问题,任何时候拖拽,都会打开一个新窗口页面,这是没办法接受的,于是对此问题进行了以下方式的处理,问题总算解决了。 在页面加载完成时执行以下代码即可:document.body.ondrop = function (event) { event.preventDefault(); e...

    Javascript 2020年09月03日 383 0
  • js闭包的强大功能

    我觉得闭包的强大之处主要在于他的封装性,也就是信息隐藏。下面我们从以下几个方面来详细说明。函数与私有状态通过闭包,我们可以创建拥有私有状态的函数,闭包使得状态被封装起来。工厂模式与私有原型对象我们先来看一个通过原型创建对象的常规方式,如下:let todoPrototype = { toString : function() { return this.id + " " + t...

    Javascript 2020年08月12日 285 0
  • WebStorm 2020.2 正式发布

    WebStorm 2020.2 发布了,此版本可将 Prettier 用作默认格式化程序,还带来了对 Vue 的支持、对 JavaScript 的新意图,和对 GitHub PR 的全面支持等等。主要新特性和改进包括:框架和技术:使用 Prettier 作为默认格式化程序的选项,对 Vue.js 进行了各种改进,并支持 WSL 2 中安装的 Git。JavaScript 和 T...

    Javascript 2020年07月29日 742 0
  • 轻量级Javascript全文搜索库——Lunr.js

    介绍Lunr.js是个用于浏览器的轻量级 JavaScript 全文搜索引擎。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档对于一些小型的博客、开发者文档或 Wiki 网站来说,完全可以通过它实现站内离线搜索:为什么使用它?对于已经将所有数据存储在客户端中的Web应用程序,也能够在客户端上搜索该数据也是很有意义的。这样可以节省在服务器上添加额外的...

    Javascript 2020年05月05日 1135 0
  • JavaScript数组常用方法

    1、数组去重function removeRepeat(arr){ var newArr = []; for(var i = 0; i < arr.length; i++){ if(newArr.indexOf(arr[i])==-1){ newArr.push(arr[i]); } } retur...

    Javascript 2020年04月19日 455 0
  • Javascript运行机制深入

    浏览器内核(渲染进程)浏览器的渲染进程是多线程的!包含了哪些线程(列举一些主要常驻线程):GUI渲染线程负责渲染浏览器界面,解析HTML,CSS,构建DOM树和RenderObject树,布局和绘制等。当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行注意,GUI渲染线程与JS引擎线程是互斥的,当JS引擎执行时GUI线程会被挂起(相当于被冻...

    Javascript 2020年04月18日 368 0
  • JS的艺术,前端异常捕获技术大全。

    前端异常捕获,技术大纲可疑区域增加 try...catch全局监控JS异常: window.onerror全局监控静态资源异常: window.addEventListener全局捕获没有 catch 的 promise 异常:unhandledrejectioniframe 异常:window.errorVUE errorHandler 和 React componentDi...

    Javascript 2020年04月17日 329 0
  • 详解如何实现前端jquery中的ajax方法,看这一篇就够了

    前言这篇文章主要聊一聊如何手写一个jquery的ajax方法,这是前端中的基础知识,也是一道非常经典的前端面试题!一步步手写ajax在web页面中与后端通信的顺序一般都是客户端向服务器发起请求,然后服务器再回复客户端,用于通信的工具就是ajax。如果你喜欢足球,你肯定知道荷甲联赛中也有一支豪门足球俱乐部叫阿贾克斯,名字一毛一样。ajax就像电话一样,将页面和服务器联系在一起,基...

    Javascript 2020年04月13日 473 0
  • 好看又好用,这 5 个国产 JS 开源项目在 Gitee 火了

    JavaScript 作为「前端三件套」中至关重要的一员,在开源领域的地位也是毋庸置疑的,Gitee 上有超过 40 万个开源项目使用 JavaScript 开发,今天给大家推荐的 5 款是 Gitee 上最近最受欢迎的 JavaScript 项目。1.vue-mini-player基于 Vue 的一个轻量级 HTML5 视频播放组件,适配 PC 和移动端。项目地址:https...

    Javascript 2020年04月08日 427 0
  • 将分割的文件进行合并

    将分割后的文件进行合并,还原成一个完整的文件本质其实就是文件的拷贝,只不过在拷贝的时候是追加文件而不是新建文件这个时候我们使用到的是字节流,就是将分割后的文件输入到程序,然后输出到文件也可以理解为多个输入流一个输出流package cn.jd.io;import java.io.BufferedInputStream;import java.io.BufferedOutputS...

    Javascript 2020年04月07日 345 0
  • Web开发之浏览器数据库存储解决方案的选择和使用

    本文背景在我们的Web项目开发中常常会遇到一些数据的存储问题,因为有一些数据相对来说对于安全性要求比较低,在现代Web项目开发中大部分已经走向前后端分离的模式,一般通用的都是向前端提供rest api。我个人认为,虽然前后端分离的模式很好的解决了后端统一的问题,但是相对来说,如果大量的重复数据或者一些基础数据每次都通过请求服务器来说无疑是对服务器资源的一种浪费,既然浏览器提供了...

    Javascript 2020年04月07日 554 0
  • 面向纯JavaScript的OCR识别引擎——Tesseract.js

    介绍Tesseract.js是流行的面向纯Javascript的OCR引擎的。该库支持100多种语言(中文支持),自动文本方向和脚本检测,用于读取段落,单词和字符边界框的简单界面。Tesseract.js可以在浏览器和具有NodeJS服务器上运行。Githubhttps://github.com/naptha/tesseract.js使用方式# For v2版本npm inst...

    Javascript 2020年04月03日 3196 2
  • JavaScript 中,5 种增加代码可读性的最佳实践

    为了保证的可读性,本文采用意译而非直译。简介如果咱们关注代码本身结构及可读笥,而不是只关心它是否能工作,那么咱们写代码是有一定的水准。专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写能应付当前工作的代码。在此基础上,可读性高的代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考,当然,如果你有更好的方式,欢迎留言。以下的方式...

    Javascript 2020年04月02日 385 0
  • Web开发实用的图片预览插件,简单零依赖——PhotoSwipe

    介绍PhotoSwipe是一个JavaScript库,没有依赖项。要说唯一的依赖项那就是Vanilla.js(原生js),因此你可以在你的任何Web项目中使用,包括主流的Vue、React、Angular以及传统jQuery的项目。PhotoSwipe可以被用到各种大中小型项目当中,并且PC和移动端完美支持!Githubhttps://github.com/dimsemenov...

    Javascript 2020年03月31日 656 0
  • 用JS开发跨平台桌面应用,从原理到实践

    导读使用Electron开发客户端程序已经有一段时间了,整体感觉还是非常不错的,其中也遇到了一些坑点,本文是从【运行原理】到【实际应用】对Electron进行一次系统性的总结。【多图,长文预警~】本文所有实例代码均在我的github electron-react上,结合代码阅读文章效果更佳。另外electron-react还可作为使用Electron + React + Mob...

    Javascript 2020年03月28日 395 0
  • 代码详解:Async/Await优于基础Promises的7大原因

    Async/await已被引入NodeJS 7.6,当前能在几乎所有先进的浏览器上运行。这绝对是自2017年以来JavaScript最好的附加语法,没有之一。Async/Await 101• Async/await是一种编写异步代码的新方法。以前编写异步代码会用callbacks和promises。• Async/await 实际上只是一种基于promises的糖衣语法,不能与...

    Javascript 2020年03月26日 412 0
  • jqurey获取表单所有数据

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title></title> <script src="jquery-3.2.1.min.js"></script> <!--<link h...

    Javascript 2020年03月26日 351 0
  • TypeScript 被吹过头了

    开始看本文之前,我希望读者朋友们知道我在很大程度上是一位 TypeScript 粉丝。在我的前端 React 项目和各种后端 Node 工作里,所使用的主要编程语言都是 TypeScript。我是这条船上的人,但也确实有一些疑惑,想在这篇文章中讨论一下。到目前为止,我已经使用 TypeScript 写了至少三年的代码,涉及的项目不计其数,因此可以说 TypeScript 的确是...

    Javascript 2020年03月25日 646 0
  • 为什么我们现在应该停止使用的JavaScript构造器

    JavaScript通过保留旧结构来保持与旧应用程序的向后兼容性。在大多数情况下,它们都是过时的,并被更简洁、更有表现力的新代码结构所取代。在本文中,我们将介绍应该立即停止使用或尽量减少使用的旧结构。1.传统函数传统函数是以关键字 function 开头的函数。我们不应该再频繁地使用它们,因为我们已经将类语法作为语法糖,用于构造函数和不关心 this 的箭头函数。提升传统函数还...

    Javascript 2020年03月25日 352 0
  • 四个最佳实践,引导你写出高质量JavaScript模块

    使用 ES2015 模块,您可以将应用程序代码分成可重用的、封装的、专注于单一任务的模块。这很好,但是如何构造模块呢?一个模块应该有多少个函数和类?这篇文章介绍了有关如何更好地组织 JavaScript 模块的4种最佳实践。1.优先使用命名导出当我开始使用 JavaScript 模块时,我使用默认的语法来导出模块定义的单个块,不管是类还是函数。例如,这是一个将模块 Greete...

    Javascript 2020年03月17日 419 0
  • Javascript正则表达式扫盲

    前言正则表达式应用太广泛了,遍布于各端程序猿日常编码中。这里只是做学习补充,简单阐述一下对?!,?=,?:的理解,知道的大佬就算是温故了,不理解希望能够帮你扫扫盲点。用一个例子开头吧,我在写bolg的注册部分时,密码要求必须为数字、字母、特殊符号组合,并且长度为8-16位。长度很好验证,难点是在必须为数字、字母、特殊符号的组合。哪些是不可行的1. 纯数字不行2. 纯字母不行3....

    Javascript 2020年03月14日 353 0
  • JS基础入门:闭包详细讲解

    闭包是函数创建时作用域内所有变量的集合。要使用闭包,需要在另一个函数中创建一个函数,这种函数被称为嵌套函数。内部函数可以访问外部函数作用域中的变量(依靠闭包可以访问外部函数作用域),即使在返回外部函数之后也是如此。每次创建嵌套函数时都会创建闭包。作用域链在继续了解闭包之前,首先了解一下JavaScript中的作用域链。通常,有两种类型的作用域:全局作用域局部作用域在JavaSc...

    Javascript 2020年03月13日 373 0
  • JavaScript实现图片合成下载

    背景:最近项目一个功能需求,需实现将两张图片合成后下载的一个功能。分析完功能需求后,决定直接使用前端技术来实现。为提高效率,使用插件(html2canvas)配合编写此功能。有关插件(html2canvas)的介绍,这里不多说明,大家可自行网上查阅。以下直接附上效果演示图以及完整代码效果演示:完整代码:(代码复制可直接使用)注:最好将代码文件放在服务器环境下运行,以防止插件(h...

    Javascript 2020年03月13日 372 0
  • js组件的开发与简单应用

    什么是js组件我们先理解下什么是组件?通俗的讲,可以认为组件是能满足我们某项或某些需求的“东西”,它是什么无所谓。比如我想要一个能放money的东西,那么钱包就是这个“组件",我不用管它是怎么加工的,用的什么材质。这就是一个”组件“那么回过头来理解下js组件,就可以理解为能够满足我们某个功能需求的js。我们不关心它内部怎么实现的,只要知到怎么用就行了。最简单的js组件任性的需求...

    Javascript 2020年03月13日 346 0