• JavaScript 中的事件委托

    JavaScript 中一个重要的方法就是事件委托(又叫事件代理)。事件委托将事件侦听器添加到一个父级元素上,这样就只用添加一次事件侦听器,可以避免向 (父级元素内)很多特定的 DOM 节点添加多个事件侦听器,减少了内存消耗,从而优化程序性能。而这个添加在父元素上的事件侦听器通过事件冒泡的事件流机制以分析查找子元素的匹配项。事件委托的概念解释并不复杂,但很多人不明事件委托到底是...

    Javascript 2021年08月11日 1386 0
  • jQuery3.6.0终于来了!全新版本有不同?

    时隔将近一年, jQuery团队终于揭开了等待已久的3.6.0发布版的神秘面纱,带来了全新的、精简过的选项,以及新的主要功能、改进和bug的修复。更新后的jQuery有哪些特点?又给我们带了什么样的全新体验?今天的文章小渡就为你一探究竟!1、什么是jQueryjQuery简写jq,Query是查询的意思,jQuery顾名思义就是一个让JavaScript更加方便的查询和控制页面...

    Javascript 2021年03月13日 2593 0
  • 你真的了解ES6函数特性么?

    前言 函数是所有编程语言中重要的组成部分,在Es6出现之前 JavaScript的函数语法一直没有太大的变化,从而遗留了很多问题和隐晦的做法,导致实现一些功能需要编写很多代码。函数形参默认值 JavaScript函数有一个特别的地方,就是无论在函数形参里定义了多少参数,都可以传入任意数量的参数,但是有的情况下,我们的参数只是可填,这样的话我们还在函数体呢写一堆逻辑从而导致代码冗...

    Javascript 2021年02月22日 1529 0
  • Js震撼人心的超酷人体模型类库Mannequin.js

    简要介绍mannequin.js是一款可以通过JavaScript实现控制人体关节模型的超酷类库。mannequin.js基于经典的Three.js库,官网所展现的Demo效果令人惊奇到掉了下巴,真的是震撼!接下来说下细节。首先,它可以选择创建Male、Female、Child三种人体模型。其次,每种模型可以细分到头部、颈部、躯干、骨盆。上肢可以细分为手臂、肘部、腕部和手指,下...

    Javascript 2021年02月12日 3280 0
  • 这4个问题可以检测出你JavaScript水平的高低

    准备JavaScript面试时应了解的事项。JavaScript现在是一种非常流行的编程语言,基于该语言,派生了大量库和框架。 但是,无论高层生态系统如何发展,离不开原始的JavaScript。 在这里,我选择了4个JavaScript面试问题来测试程序员使用普通JavaScript的技能。1.实现Array.prototype.map如何手动实现Array.prototype...

    Javascript 2021年02月09日 1685 0
  • js 手动实现bind方法,超详细思路分析

    在模拟bind之前,我们先了解bind的概念,这里引入MDN解释:bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。说的通俗一点,bind与apply/call一样都能改变函数this指向,但bind并不会立即执行函数,而是返回一个绑定了this的新函数,你需...

    Javascript 2021年02月07日 1625 0
  • 怎么在javascript中灵活运用 this

    this 是什么Javascriptthis关键词指的是他所属的对象,它拥有不同的值,具体取决于使用的位置和调用方式。使用方式在方法中,它指向这个方法的拥有者在函数中,它是全局对象window严格模式下在函数中,它是undefined单独使用时,它是全局对象window在事件中,它指向触发事件的目标对象e.target不同执行模式下的差异化javascript 中的this不同...

    Javascript 2021年02月07日 1587 0
  • JS的高阶函数和回调函数

    高阶函数:如果一个函数的参数或者返回值为一个函数,该函数叫做高阶函数回调函数:作为参数的函数叫做回调函数例如:上述a函数的参数是个函数,为高阶函数。b函数作为a函数的一个参数,所以b函数为回调函数。函数作为返回值:上图函数c的返回值是个函数,所以c也被成为高阶函数。

    Javascript 2021年02月05日 1985 0
  • 研究JavaScript的六项基础与组织方式

    一、开宗明义JS的每一个单独的文件都是一个独立的program。二、数值与数据Value and DataJS中的Value就是Data,有两种形式分别为primitive和object。其中primitive包括1)number(bigint), 2)string(interpolate)3)boolean 4) undefined and null 5) Symbol 而剩...

    Javascript 2021年02月05日 1793 0
  • JS排序算法:冒泡、选择、插入、归并、快速、希尔、堆、计数

    1. 冒泡排序算法实现(javascript)//冒泡排序算法(javascript) //author:Hengda //arr数组 //mode false 升序 ture 降序 function bubbleSort( arr, mode ){ var i, j, temp, len = arr.length; for( i = len - 1 ; i...

    Javascript 2021年02月05日 1443 0
  • 前端开发-文本拷贝插件

    clipboard.js是一款强大且实用的文本拷贝插件,目前github的stars量30K以上一、安装1、通过npm工具安装npm install clipboard --save2、html文件直接导入github搜索clipboard直接下载源码文件包<script src="js/clipboard.min.js"></script>二、使用1、...

    Javascript 2021年02月04日 1635 0
  • reduce的高级用法

    reduce作为ES5新增的常规数组方法之一,对比forEach 、filter和map,在实际使用上好像有些被忽略,发现身边的人极少用它,导致这个如此强大的方法被逐渐埋没。如果经常使用reduce,怎么可能放过如此好用的它呢!我还是得把他从尘土中取出来擦干净,奉上它的高级用法给大家。一个如此好用的方法不应该被大众埋没。下面对reduce的语法进行简单说明,详情可查看MDN的r...

    Javascript 2021年02月03日 1523 0
  • javascript数组求和的实际应用

    javascript有下面一组数据const data = [ { name:'小明', score:'90',age:10 }, { name:'小王', score:'100',age:9 }, { name:'小赵', score:'80',age:9 }, { name:'小强', score:'97',age:8 }]我们现在的需求是对score和age两列进行求和计...

    Javascript 2021年02月02日 1374 0
  • JS简单的二级联动菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JS简单的二级...

    Javascript 2021年02月02日 1344 0
  • 深入理解JavaScript作用域、作用域链

    变量(变量作用于又称上下文)和函数生效(能被访问)的区域或集合。换句话说,作用域决定了代码区块中变量和其他资源的可见性。我们来看个例子:function myFunction() { let inVariable = "函数内部变量"; } myFunction();//要先执行这个函数,否则根本不知道里面是啥 console.log(i...

    Javascript 2021年02月01日 1461 0
  • 前端你得会——加密解密之crypto-js(建议收藏)

    场景在开发过程中,我们会经常会从当前系统跳转别的系统进行访问或者页面嵌套使用。那一般都会给到一个地址进行参数拼接,然后去访问。那么会存在一个问题,就是地址暴露在外面参数使用明文的话会被篡改,极度不安全。这个时候我们就考虑到加密,前端和后端协定好一种加密方式,然后前端进行参数加密传到后端,后端再去解密(可逆)。加密方式也有很多种,今天我推荐的是一款强大的前端加密/解密js库——c...

    Javascript 2021年01月30日 6729 0
  • 《锋利的jQuery》观后记

    API文档 https://api.jquery.com/网页中所有 DOM结构绘制完毕后就执行,而不是在页面所有内容(例如图片等占用宽带的内容)加载完毕之后才执行事件。它允许用户在第一眼看到元素的时候,就能立即看到元素产生的一些隐藏效果、显示效果和其它效果。若要访问图像的高度等属性,可以考虑jquery提供的load()事件。$(document).ready(functio...

    Javascript 2021年01月30日 1438 0
  • NodeJS包管理器-NPM基础

    NPM是什么全称 node package manger,是Node的开放式模块登记和管理系统。官网:https://www.npmjs.cn/仓库:https://www.npmjs.com/package/repository中文参考:https://www.axihe.com/api/npm/api/api.htmlNPM能干什么社区的力量,程序员自古以来就有社区文化。加...

    Javascript 2021年01月28日 1534 0
  • 一篇文章教会你jQuery应用

    一 认识jQuery jQuery是JavaScript Query的缩写形式。jQuery是一款非常优秀的JavaScript库,即便是MVVM框架盛行的今天,也有超过半数的网页及应用直接或间接的使用了jQuery。jQuery的设计理念是“Write Less, Do More“,即写的更少,做的更多!使用jQuery可以大大简化我们的JS代码,从而提高开发效率。 jQue...

    Javascript 2021年01月27日 1256 0
  • 从架构入手轻松读懂框架:以jQuery,Zepto,Vue和lodash-es为例

    知道有没有朋友有这种经历。雄心勃勃的打开一个开源框架的源码,开始看,一行一行的看下去,看了几行就感觉,“我艹,这什么玩意儿”,然后就看不下去了。如果你有类似的经历,可以看看本文,本文会以几个常见开源库为例讲解几种常见的开源框架的代码架构,从架构出发,帮你轻松读懂框架源码。记住以下两个要点:不要一行一行的读代码先找入口,再理架构,依流程读下去jQuery以jQuery为例,来看看...

    Javascript 2021年01月11日 1444 0
  • Fuse.js——用于JavaScript中数据的模糊搜索

    介绍Fuse.js是一个功能强大、轻量级的模糊搜索库,没有依赖关系。一般来说,模糊搜索(更正式地称为近似字符串匹配)是一种寻找近似等于给定模式(而不是精确地)的字符串的技术。Githubhttps://github.com/krisk/fuse使用场景当你需要对小到中等大小的数据集进行客户端模糊搜索时。基本使用// 1. 要搜索的数据列表 const books = [ {...

    Javascript 2021年01月06日 12744 0
  • 各种各样加密算法的js库,安全加密不再愁——crypto-js

    介绍crypto-js是一个前端Javascript标准加密算法库,CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、...

    Javascript 2020年12月31日 1725 0
  • 快速了解JavaScript的BOM模型

    ECMAScript是JavaScript的核心,而BOM(浏览器对象模型,Browser Object Model)是在Web中使用JavaScript的核心。在BOM对象中,window对象是最顶层对象,在浏览器环境中它是一个Global全局对象,其它对象是window对象的子对象(属性)。BOM主要用于管理浏览器窗口及窗口之间的通讯。下面是BOM对象的组成结构。windo...

    Javascript 2020年12月23日 1349 0
  • JavaScript最受欢迎日历组件FullCalendar

    简要介绍FullCalendar是一款JavaScript用于展示日历的组件。它在github上有13.1k颗星,足见其受欢迎的程度。它支持100多种的自定义设置,可以设置不同的视图、主题、事件等等。目前支持与主流的React、Vue、Angular框架的集成。最新版本:v5.4.0。我对它的评价是:单品类爆款。Github地址https://github.com/fullca...

    Javascript 2020年12月04日 1923 0
  • Web端非常有用的一个文件上传插件——FilePond

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

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

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

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

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

    Javascript 2020年10月21日 1518 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日 1607 0
  • 理解JavaScript中的浅拷贝与深拷贝

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

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

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

    Javascript 2020年10月11日 1950 0