JavaScript
文章平均质量分 58
Leon_94
Just Code IT!
展开
-
再也不用怕正则表达式了
有些知识,我们只需要付出一点点时间,把它掌握了,会大大提高我们的效率,节省我们的时间。正则表达式就是这样的知识,但是,作为入行好几年的我来说,正则表达式一直是一头雾水,今天决定把它好好研究研究。什么是正则表达式正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子.1.基本匹配上面是最基本的操作,exec是js中的用法。会在一行文本中找到满足正则表达式...原创 2019-08-06 20:11:36 · 677 阅读 · 0 评论 -
用JavaScript实现PHP的urlencode与urldecode函数
本文介绍了php函数urlencode的js实现方法并比较js和php各编码函数的区别。通常form表单的enctype类型为 application/x-www-form-urlencoded, 当表单提交后,提交的数据自动被编码, 规则为" 除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。", php的urlencode函数与其功能相...原创 2018-12-14 16:11:52 · 2267 阅读 · 0 评论 -
Linux环境变量
Linux环境变量Linux与MAC OS常用环境变量> $PATH:决定了shell将到哪些目录中寻找命令或程序 > $HOME:当前用户主目录 > $MAIL:是指当前用户的邮件存放目录。 > $SHELL:是指当前用户用的是哪种Shell。 > $HISTSIZE:是指保存历史命令记录的条数 > $LOGNAME:是指当前用户的...原创 2018-12-14 11:52:58 · 205 阅读 · 0 评论 -
Node.js实现简单的POST请求
这个小demo的结构和上一篇写的Node.js实现简单的GET请求一样。唯一不同的是之前的get.js改成了post.js下面是post.js文件//这个案例展示get请求参数如何获得var finalhandler = require('finalhandler')var http = require('http')var serveStatic = require('serve-...原创 2018-12-19 18:31:49 · 5893 阅读 · 1 评论 -
Node.js实现简单的GET请求
GET请求的识别非常的简单,就是URL的识别,使用的是url.parse(req.url,true).query先来看一下目录public 下的index.html文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF原创 2018-12-19 17:39:28 · 4368 阅读 · 1 评论 -
js获取当前电脑的ip
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">原创 2018-12-19 15:24:33 · 12322 阅读 · 8 评论 -
element-ui中遇到的问题
element-ui中遇到的问题el-selectQ:回显的字段是汉字,根据对应的汉字获取ID并作为下一个联动查询的参数# 回显数据{ "carSeries":"一汽奥迪A4", "carYear":"(2003年至2005年)A4 B6",}# api:carSeries[ {"familyId":"402880ef0ca9c2b6010cc86045原创 2018-12-13 14:43:36 · 1729 阅读 · 0 评论 -
electron深入浅出
electron简介electron是由Github开发,是一个用Html、css、JavaScript来构建桌面应用程序的开源库,可以打包为Mac、Windows、Linux系统下的应用。electron是一个运行时环境,包含Node和Chromium,可以理解成把web应用运行在node环境中结构electron主要分为主进程和渲染进程,关系如下图electron运行packag...原创 2018-12-13 14:39:56 · 33630 阅读 · 0 评论 -
docker
docker基础教程:docker 从入门到实践.pdf原创 2018-12-13 14:38:27 · 159 阅读 · 0 评论 -
Object.defineProperty
Object.definePropertyObject.defineProperty(obj, prop, descriptor)obj 要在其上定义属性的对象。prop要定义或修改的属性的名称。descriptor将被定义或修改的属性描述符。descriptor数据描述configurableenumerablewritablevalue存储器描述getset...原创 2018-12-13 14:37:55 · 1147 阅读 · 0 评论 -
浅谈backstop.js
backstopjs什么是backstopBackstopJS就是一个能够实现css自动化回归测试的工具,BackstopJS是一个基于比较网站快照的变化的回归测试工具,非常适合给项目中的样式做回归测试,可以确保我们在重构网站样式的时候样式不发生变化,而且他支持设置多种浏览器尺寸,可以测试响应式布局。比较下resemble.js 和phantomCss,backstop算是比较容易上手使用...原创 2018-12-13 14:37:04 · 1954 阅读 · 0 评论 -
setTimeout和Promise的任务队列
setTimeout和Promise的任务队列栈,是指只有在一端进行存取的表结构。可以看做一个打开的箱子,永远只能对最上面的东西进行操作。也就是先进(栈底)后出(必须把上面的全都拿走),后进(栈顶)先出的顺序。队列,是指排队过安检,先进先出。在JS的单线程中,任务队列可以有多个。这些队列都是依靠函数调用栈来循环执行,这也就是我们常说的事件轮循。事件轮循决定了代码的执行顺序。任务队列包括宏...原创 2018-12-13 14:36:08 · 415 阅读 · 0 评论 -
async和await使用
async和await使用Q:假设有3个接口,A,B,C 逐次依赖,求实现方案?A–>B–>C模拟代码APIconst readFile = function (fileName) { return new Promise((resolve, reject) => { $.get(fileName).then(_ => { ...原创 2018-12-13 14:35:05 · 709 阅读 · 1 评论 -
函数的参数传递
函数的参数传递传值还是传引用?function changeStuff(num, obj1, obj2){ num = num * 10; obj1.item = "changed"; obj2 = {item: "changed"};} var num = 10;var obj1 = {item: "unchanged"};var obj2 = {ite...原创 2018-12-13 14:33:47 · 202 阅读 · 0 评论 -
JS遍历对象
var obj = {'0':'a','1':'b','2':'c'};Object.keys(obj).forEach(function(key){ console.log(key,obj[key]);});原创 2018-11-27 21:30:52 · 2161 阅读 · 0 评论 -
使用Node.js的formidable模块实现文件上传
在我上一篇写的Node.js实现简单的POST请求里面POST请求接受参数需要写两个事件,这难免有些不太方便如果我们用formidable来接受参数的话,会变得特别方便。下面我们来写一个Demo,来利用formidable来实现图片上传1.下面来看一眼 目录结构2.先来写一个简单的前端上传页面index.html<!DOCTYPE html><html lan...原创 2018-12-20 15:23:04 · 1530 阅读 · 0 评论 -
http缓存
http缓存都是服务端通过配置http headers来告诉浏览器是否能缓存,以及缓存多长时间。强缓存:不去请求服务端,直接从本地缓存读取资源。协商缓存:请求服务端,返回304,然后从本地缓存读取资源。强缓存浏览器不会去请求服务器,主要通过expires和cache-control控制。nginx通过配置expires指令,来控制缓存有效期。location ~ .*\.(js|...原创 2018-12-17 16:19:35 · 155 阅读 · 0 评论 -
详谈 import 路径
import路径import {test} from './test';花括号import {test} from './test';import test from './test';如果有默认导出export default则可以省略花括号,且import的模块名是随意的,如:// a.jsexport default 'test';// b.jsimport a ...原创 2018-12-17 16:21:54 · 11851 阅读 · 0 评论 -
想搞懂async?先从单向链表讲起
async怎么用async函数返回一个Promise对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。举一个栗子:let timeout = ms => { console.log('a') return new Promise(resolve => { cons...原创 2019-07-28 17:23:02 · 336 阅读 · 0 评论 -
正则表达式入门
有些知识,我们只需要付出一点点时间,把它掌握了,会大大提高我们的效率,节省我们的时间。正则表达式就是这样的知识,但是,作为入行好几年的我来说,正则表达式一直是一头雾水,今天决定把它好好研究研究。1.什么是正则表达式正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科...原创 2019-08-08 11:15:16 · 689 阅读 · 0 评论 -
你还在为了 command not found:xxx 绞尽脑汁吗
我们平时的工作和学习中,如果要安装一个工具,比如我们打包用的nsh-git-push-tag,有时候安装完了之后,我们在命令行输入nsh-git-push-tag, 有时候会报commond not found这个错误,甚至我们在安装webpack,npm,git等命令的时候都会出现这样的错误,那么这个问题怎么解决呢?拿nsh-git-push-tag举例第一步,在命令行输入which ...原创 2019-07-29 14:49:54 · 812 阅读 · 0 评论 -
你不知道的JavaScript(上中下三册) 电子版高清 -- 百度云
链接:https://pan.baidu.com/s/1xIT2R4flZnnahnmIl7VYEA 密码:754r原创 2019-04-04 21:25:13 · 2436 阅读 · 0 评论 -
跟着underscore学防抖
防抖的原理就是:你尽管触发事件,但是我一定在事件触发 n 秒后才执行,如果你在一个事件触发的 n 秒内又触发了这个事件,那我就以新的事件的时间为准,n 秒后才执行,总之,就是要等你触发完事件 n 秒内不再触发事件,我才执行,真是任性呐!简单来说就是将多次执行变为最后一次执行。// 这个是用来获取当前时间戳的function now() { return +new Date()}...原创 2019-03-24 18:09:21 · 311 阅读 · 0 评论 -
跟着 underscore 学节流
节流的原理很简单:如果你持续触发事件,每隔一段时间,只执行一次事件。/** * underscore 节流函数,返回函数连续调用时,func 执行频率限定为 次 / wait * * @param {function} func 回调函数 * @param {number} wait 表示时间窗口的间隔 * @param {object} ...原创 2019-03-24 18:05:24 · 256 阅读 · 0 评论 -
vue2.0的过滤器 Filters
过滤器的介绍vue1.0有自己的内置过滤器,大家可以点开查看,不过vue2.0已经废弃掉了。现在的过滤器只能自己定义,自己定义的话有两种方式,全局过滤器和局部过滤器全局过滤器或者在创建 Vue 实例之前全局定义过滤器:Vue.filter('capitalize', function (value) { if (!value) return '' value = value.toS...原创 2019-01-09 21:44:30 · 825 阅读 · 1 评论 -
小程序的登录鉴权&&数据解密
小程序的登录鉴权&&数据解密登录流程1、用户使用wx.login获取临时code,有效期为5分钟2、将临时code传到我们自己的后端服务,调用微信的API获取用户的session_key和openid3、后端自定义新的密钥并关联返回的session_key和openid,将新的密钥返给前端4、前端发送请求的时候,带着密钥,后端进行解析后返回数据session_key和...原创 2018-12-17 16:38:50 · 1883 阅读 · 0 评论 -
npm包发布
npm包发布npm注册1.注册(输入用户名,密码,邮箱。注册成功会自动登录)npm adduser2.登录(输入用户名,密码就可登陆成功)npm login3.发布(注意发布必须是登录状态下)npm publishmljr-clinpm install mljr-cli -g➜ ~ mljr -h Usage: mljr <command> [opt...原创 2018-12-17 16:35:26 · 512 阅读 · 0 评论 -
单元测试
单元测试单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。测试框架所谓"测试框架",就是运行测试的工具。通过它,可以为 JavaScript 应用添加测试,从而保证代码的质量。类似的测试框架还有 Mocha、Jasmine、Karma、Tape 等MochaMocha(发音"摩卡")诞生于 2011 年,是现在最流行的 JavaScript 测试框架之一,在浏览...原创 2018-12-17 16:34:04 · 611 阅读 · 0 评论 -
websocket深入浅出
websocket简介websocket是什么答: 它是一种网络通信协议,是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。为什么需要websocket? 疑问? 我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答:因为 HTTP 协议有一个缺陷:通信只能由客户端发起我们都知道轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP...原创 2018-12-17 16:33:17 · 129105 阅读 · 4 评论 -
小程序之图片懒加载
小程序之图片懒加载效果图既然来了,把妹子都给你。定义懒加载,前端人都知道的一种性能优化方式,简单的来说,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。实现原理监听页面的scroll事件,判读元素距离页面的top值是否是小于等于页面的可视高度判断逻辑代码如下element.getBoundingClientRect().top &l...原创 2018-12-17 16:30:13 · 1559 阅读 · 0 评论 -
Linux目录结构及文件基本操作
Linux目录结构及文件基本操作(1)区别win以存储介质为主,主要以盘符及分区实现文件管理,再下面才是目录。linux以树形目录结构的形式来构造整个系统,每一个目录不仅能使用本地磁盘分区的文件系统,也能使用网络的文件系统。结构查看内建命令&&系统命令1.内建命令要比系统论命令有比较高的执行效率。2.外部命令执行时往往需要fork出(产生出)一个子进程,而内建命...原创 2018-12-17 16:25:24 · 283 阅读 · 0 评论 -
koa2深入浅出
koa2基础知识分享koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。 使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套, 并极大地提升错误处理的效率。koa 不在内核方法中绑定任何中间件, 它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。安装Koa 依赖 nod...原创 2018-12-17 16:23:56 · 613 阅读 · 0 评论 -
JS判断各种各种浏览器类型和版本
直接引用这个js比如import { Browser } from './browser.js' log(Browser.client.name+" "+Browser.client.version);//browser.jsvar Browser=Browser || (function(window){ var document = window.document, nav...原创 2018-11-21 15:46:09 · 15703 阅读 · 2 评论 -
图片预加载的实现
图片预加载说白了就是将所有所需的图片提前请求加载到本地,这样后面在需要用到时就直接从缓存取图片 。图片预加载的原理很简单:new Image(),然后使用onload方法回调预加载完成事件,当浏览器把图片下载到本地后,之后同样的src就直接使用缓存。无序加载// 所有的图片(要是网络太好,自己加图片吧)const imgs = [ "http://op2clp53n.bkt.clou...原创 2018-09-20 17:59:57 · 2654 阅读 · 0 评论 -
Webscoket的使用以及优化
最近项目中用到了webscoket,直接把代码放到这里,有问题互相讨论原创 2017-09-12 15:56:52 · 870 阅读 · 0 评论 -
在dom里面插入图片
dom插入图片原创 2017-08-14 18:08:25 · 2749 阅读 · 0 评论 -
js获取当前时间(yyyy-mm-dd hh:mm:ss)的方法
时间格式 yyyy-mm-dd hh:mm:ss原创 2017-08-04 11:34:10 · 3055 阅读 · 0 评论 -
ECharts将折线变平滑和去掉点的属性
ECharts将折线变平滑和去掉点的属性原创 2017-03-16 17:51:42 · 25765 阅读 · 1 评论 -
js 判断多个时间段是否存在重叠的部分
一排序二判断原创 2017-04-11 16:35:06 · 15277 阅读 · 8 评论 -
文本超过一定的长度换行
当文本超过一定的长度后使其换行原创 2016-12-20 16:17:36 · 6744 阅读 · 0 评论