javascript技巧

JavaScript中条件语句的优化技巧总结

2020-12-02
对多个条件使用 Array.includes function test(fruit) { if (fruit == 'apple' || fruit == 'strawberry') { console.log('red'); } } 上面的例子看起来不错.然而,如果还有更多红颜色的水果需要判断呢,比如樱桃和小红莓,我们要用更多的 ||来扩展这个表述吗? 我们可以用 Array.includes 重写上面的条件! function test(fruit) { const redFruits =

js实现复制粘贴的两种方法

2020-12-02
本文实例为大家分享了js实现复制粘贴的具体代码,供大家参考,具体内容如下 一.前沿 界面需要复制功能,所以就写了一个作为简单记录 二.方法.推荐第二种. 1.第一种方法 1).通过 document.execCommand('copy') 2).前端代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>cons

JavaScript函数柯里化实现原理及过程

2020-12-02
简介 当我们在读Vue源码到时候会发现,在它的 _update 实例中就用到了函数柯里化,(createPatchFunction方法)有兴趣的可以 去看一下. 柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术. 在<Mostly adequate guide>中,这样总结了 Currying --只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数. Currying 是函数式编

可拖拽组件slider.js使用方法详解

2020-12-02
基于 mithril.js ,javascript ,scss写一个可拖动的滑块组件,供大家参考,具体内容如下 问题描述: 需求需要实现一个可拖动的滑块组件,但是又不能用UI框架,只好自己动手写一个了. 废话不多说,直接上代码. 技术要求: 需要有mithril.js,javascript,scss技术基础. js及页面代码. var m = require("mithril"); require('./slider.scss'); import slider from './slid

echarts浮动显示单位的实现方法示例

2020-12-02
本文主要介绍的是利用echarts浮动显示单位的相关内容,这个显示效果对大家来说体验感还是不错的,下面话不多说了,来一起看看详细的介绍吧 例子: echarts浮动显示单位实现方法 echarts浮动显示单位,实现代码如下: // 设置echarts中的formatter参数 formatter: function(a) { let list = []; let listItem = ""; for (var i = 0; i < a.length; i++) { if (i &

HTML元素拖拽功能实现的完整实例

2020-12-01
1  需要了解的知识点 1.1  offset(偏移量) 定义:元素在屏幕上占用的所有的可见的空间. 元素可见的大小由其高度.宽度决定,包括所有内边距.滚动条和边框大小四个属性 offsetHeight:元素正在垂直方向上占用的大小空间,单位为px,不包括margin值.只读属性. offsetWidth:元素在水平方向上占用的大小空间,单位为px,不包括margin值.只读属性. offsetLeft:元素的左外边框至包含元素的左内边框之间的距离,单位为px.只读属性. offsetTop:元

javascript实现时钟动画

2020-12-01
本文实例为大家分享了javascript实现时钟动画的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>时针转动</title> <meta name="viewport" content="width=device-width, in

JS如何监听div的resize事件详解

2020-12-01
需求 开发过程中经常遇到的一个问题就是如何监听一个div的size变化. 比如我用canvas绘制了一个chart,当canvas的size发生变化的时候,需要重新绘制里面的内容,这个时候就需要监听resize事件做处理. window上虽然可以添加resize事件监听,但这并不能满足我们的需求,因为很多时候,div的size发生了变化,但是window的size并没有改变. 不过我们可以间接利用window的resize事件监听来实现对于某个div的resize事件监听,请看下面具体实现. 对

WebPack工具运行原理及入门教程

2020-12-01
WebPack是什么 一个打包工具 一个模块加载工具 各种资源都可以当成模块来处理 网站 http://webpack.github.io/ 如今,越来越多的JavaScript代码被使用在页面上,我们添加很多的内容在浏览器里.如何去很好的组织这些代码,成为了一个必须要解决的难题. 对于模块的组织,通常有如下几种方法: 通过书写在不同文件中,使用script标签进行加载 CommonJS进行加载(NodeJS就使用这种方式) AMD进行加载(require.js使用这种方式) ES6模块 思考:

Javascript新手入门之字符串拼接与变量的应用

2020-11-30
1. 课程大纲 字符串拼接(+)的学习和应用 坐标变换在飞机大战游戏中的应用 2.1 字符串的拼接 在JS中使用"+"号,连接字符串.变量.数值等. 2.2 在警告框上显示朋友的数量 在警告框上显示朋友的数量,显示效果如下 声明变量 friends表示朋友的数量,在警告框上显示"我的朋友数量为:7",使用字符串拼接符"+" ,代码如下' var friends = 7; alert("我的朋友数量为:" +friends);

创建与框架无关的JavaScript插件

2020-11-30
JavaScript 中的插件使我们能够扩展语言,以实现所需的某些强大(或不够强大)的功能.插件/库本质上是打包的代码,可以使我们免于一遍又一遍地编写相同的东西(功能). 在 JavaScript 生态系统中,有数百个框架,这些框架中的每一个都为我们提供了一个创建插件的系统,以便为框架添加新的东西. 如果你看一下 NPM 注册表,几乎所有的 JavaScript 插件都是在那里发布的,你会看到有超过一百万个插件以简单库和框架的形式发布. 为每个框架创建插件的方式可能会有很大不同.例如,Vue.j

通过实例解析js可枚举属性与不可枚举属性

2020-11-30
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍历其中的属性: var num = new Number(); for(var pro in num) { console.log("num." + pro + " = "

JavaScript async/await原理及实例解析

2020-11-30
随着Node 7的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await. 异步编程的最高境界,就是根本不用关心它是不是异步. async 函数就是隧道尽头的亮光,很多人认为它是异步操作的终极解决方案. async 和 await 起了什么作用 async 起什么作用 这个问题的关键在于,async 函数是怎么处理它的返回值的! 我们当然希望它能直接通过return语句返回我们想要的值,但是如果真是这样,似乎就没 await 什么事了.所以,写段代码来试试,看它到底会返回

为什么JavaScript中0.1 + 0.2 != 0.3

2020-11-30
涉及面试题:为什么 0.1 + 0.2 != 0.3?如何解决这个问题? 原因,因为 JS 采用 IEEE 754双精度版本(64位),并且只要采用 IEEE 754的语言都有该问题 我们都知道计算机是通过二进制来存储东西的,那么 0.1 在二进制中会表示为 // (0011) 表示循环 0.1 = 2^-4 * 1.10011(0011) 我们可以发现,0.1 在二进制中是无限循环的一些数字,其实不只是 0.1,其实很多十进制小数用二进制表示都是无限循环的.这样其实没什么问题,但是 JS采用的

JS如何实现在弹出窗口中加载页面

2020-11-30
弹出窗口,加载页面.弹出窗口初始位置为居中.可在关闭窗口时,回调主页面按钮.要求jquery. 效果演示 首先,演示主窗口两个按钮作用.然后,演示关闭弹出窗口时,调用主窗口的两个按钮. 主要代码(时间仓促,没加注释,不过代码很简单,就是创建几个元素拼在一起,每个元素都用var=标明了) var _divMask; var _divBox; function ShowMask() { var divMask = $('<div></div>') .attr("id"

js前端对于大量数据的展示方式及处理方法

2020-11-30
最近暂时脱离了演示项目,开始了公司内比较常见的以表单和列表为主的项目. 干一个,爱一个了.从开始的觉得自己都做了炫酷的演示项目了,这对我来说就是个小意思,慢慢也开始踩坑,有了些经验总结可谈. 现下不得不说是个数据的时代,有数据就必定有前端来展示. 杂乱的数据通过数据分析(未碰到的点,不讲请搜),提炼出业务相关的数据维度,而前端所做的就是把这些一个个数据通过不同维度(key-value)的描述来展示到页面上. 除去花哨的展示方式(图表等),展示普通的大量列表数据有两种常用方式,分页和触底加载(滚动

浅谈es6中的元编程

2020-11-30
何为元编程? 「编写能改变语言语法特性或者运行时特性的程序」.换言之,一种语言本来做不到的事情,通过你编程来修改它,使得它可以做到了,这就是元编程. meta-programming元编程中的 元 的概念可以理解为 程序 本身."元编程能让你拥有可以扩展程序自身能力 举个例子: if (a == 1 && a == 2 && a == 3) { console.log("done"); } 怎样才能让这个条件满足,输出done.按照正常的逻辑是

JavaScript实现商品评价五星好评

2020-11-29
本文实例为大家分享了JavaScript实现商品评价五星好评的具体代码,供大家参考,具体内容如下 一.效果展示 二.代码实现 1.html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>好评</title> <link rel="stylesheet" type="text/css" href

JS实现超级好看的鼠标小尾巴特效

2020-11-29
看完这个保证你有手就行,制作各种好看的小尾巴! 全部代码如下,看注释可以轻易看懂 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /*div样式*/ #main{ width: auto;height: 1500px;margin: 0;backgr

js实现简易点击切换显示或隐藏

2020-11-29
本文实例为大家分享了js实现简易点击切换显示或隐藏的具体代码,供大家参考,具体内容如下 html: <div id="header"> <p>点击切换显示隐藏</p> <div class="close" onclick="closeTask()">关闭</div> </div> <div class="open" onclick="ope