自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

转载 KMP算法JS实现

参考阮一峰的《字符串匹配的KMP算法》,用JS实现一版,备忘~// 主串let str1 = 'BBC ABCDAB ABCDABCDABDEDC';// 模式串let str2 = 'ABCDABD';/** * 算出《部分匹配表》Partial Match Table * 参考文档:http://www.ruanyifeng.com/blog/20...

2019-09-17 23:21:00 259

转载 技术服务于生活——羽毛球+程序员=?

前言技术服务于生活,不久前在知乎看到一个问题:自己拥有一台服务器可以做哪些很酷的事情?答主们各有各的骚操作,搭博客的、搭个人网盘的、做爬虫的、配私人影院的等等,有位同学做了个离校登记系统,服务于大众,很不错的想法。这些都是技术服务于生活的典范。我平时会打羽毛球,加了几个微信群,群内会不定时举行各种大大小小的比赛,比赛就需要记分,大家应该见过那种PVC硬塑料的记分牌,我也用过,...

2019-08-31 22:45:00 305

转载 Nodejs监控Apple召回计划&邮件提醒

最近,我的13寸 MacBook Pro2015款电池膨胀了把笔记本平放在桌面,四个脚中的前两个无法落地,笔记本盖合上之后,屏幕上会印上键盘的纹路,也就是说,笔记本C面D面变形了,已经购买超过3年,售后不给换,同年生产的15寸的MacBook Pro因为同样的问题出了电池召回计划,我想着再坚持一下,看看13寸的会不会也出召回计划Apple的召回计划全都更新在这里https://...

2019-07-24 00:24:00 302

转载 Android调试移动端webview

尝试了各种Mac版本的安卓模拟器,包括Android Studio、Genymotion以及国内的网易MuMu、夜神、蓝叠、腾讯手游助手,做的最好的是Android Studio,最难上手的也是Android Studio。Android Studio有两种架构类型的镜像可选,分别是x86和ram,安装ram架构的镜像,非常卡,没法用,x86的镜像很流畅,只能用来调试基于x86架构的...

2019-07-21 11:53:00 668

转载 设置电脑为手机代理

1、下载安装Charles,此教程仍针对Mac版本2、设置代理端口:菜单 - Proxy -Proxy Settings - Proxies - HTTPProxy - 输入端口8888,勾选下方Enable transparent HTTP proxying3、设置访问控制列表:菜单 - Proxy - Access Control Settings,增加手机IP到IP...

2019-07-21 11:49:00 3550

转载 iPhone调试移动端webview

一、模拟器调试1、启动Xcode2、选择菜单Xcode - Open Developer Tool - Simulator3、启动Simulator后,选择Simulator菜单Hardware - Device - iOS12.x - 再选择需要的手机/iPad型号4、安装App,直接拖放App安装包到Simulator屏幕上,等待自动安装结束。5、在App...

2019-07-20 11:37:00 535

转载 禁用JavaScript之后,你的网站表现如何?

一最近要做一个新官网,需求评审完之后,考虑到官网都是纯静态页面,功能简单,操起vue-cli3几秒内创建好了项目脚手架,开发前,我打开了首页模板文件,看到下面这行字,有了一些思考……<noscript> <strong>We're sorry but **** doesn't work properly without JavaScript enabl...

2019-03-18 20:49:00 492

转载 Web Component

前言Web Component不是新东西,几年前的技术,但是受限于浏览器兼容性,一直没有大规模应用在项目里,直到现在(2018年年末),除IE仍不支持之外,其它主流浏览器都支持Web Component。Web Component不是一个东西,它分为四部分,分别是template——模板HTML import——HTML导入Shadow DOM——影子DOMCustom El...

2018-12-24 00:15:00 127

转载 超出JavaScript安全整数限制的数字计算-BigInt

JavaScript中的基本数据类Number是双精度浮点数,它可以表示的最大安全范围是正负9007199254740991,也就是2的53次方减一,在浏览器控制台分别输入Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER可查看对应的最大/小值const max = Number.MAX_SAFE_INTEGER; // → ...

2018-06-23 23:23:00 137

转载 ES2018正则表达式更新

如果你是一个初学者,这篇文章可以拓展你对正则表达式用法的理解,不过建议你先阅读一些正则表达式入门文章,比如经典的《正则表达式30分钟入门教程》。如果你对正则表达式有一定的认识,那么这篇文章可以让你了解JavaScript中的新功能。随着ES2018的更新,JavaScript正则表达式和其他基于PCRE的正则表达式引擎之间的差距越来越小。ES2018有以下四个比较重要的更新:...

2018-06-23 11:22:00 126

转载 基于jest和puppeteer的前端自动化测试实战

前端测试现状经常听到后端同学说“单元测试”,前端写过测试用例的有多少?答案是:并不多,为什么呢?两个主要原因1、前端属于GUI软件,浏览器众多,兼容问题让人头大,用户量有一定规模的浏览器包括:  IE8、IE9、IE10、IE11、chrome、FireFox、360浏览器、搜狗浏览器、QQ浏览器……要在这么多浏览器上做几轮测试并不容易2、前端界面变化快,很多时候界面...

2018-05-30 00:11:00 600

转载 记录一个chrome 65渲染的bug

前段时间发现一个chrome 65+的BUG(chrome已更新到66,BUG仍然存在),一个元素同时使用了以下样式(失去焦点和css3的Z轴平移0deg),渲染异常/*bug style*/filter: blur(4px);transform: translateZ(0)渲染截图:正常渲染截图应该是:完整demo:<!DOC...

2018-05-29 14:12:00 119

转载 如何开发一个chrome扩展

chrome是一个不错的浏览器,web开发者工作中一般都会使用chrome做为默认浏览器,它有很多扩展,给浏览器补充了各种功能,增强了用户体验。chrome扩展具体能干什么?怎么做出来的呢?chrome扩展是什么?本质上是HTML+CSS+JavaScript组成的页面,所有文件打包成crx文件,安装到chrome,就可以使用chrome扩展能干什么?chrome扩展可以...

2017-11-19 23:41:00 115

转载 ES6的Iterator遍历器

JS表示集合的对象主要有Array、Set、Object、Map,在以前,遍历它们需要使用2种不同的方法,而现在,JS提出了Iterator机制,可以给不同的数据结构提供统一的遍历方法,就是for…of。换句话说,只有部署了Iterator的数据才能用for…of遍历。Iterator的遍历过程是这样的:(1)创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象本质...

2017-10-23 23:24:00 77

转载 AngularJS 数据绑定

接触AngularJS已经两年多了,时常问自己一些问题,如果是我实现它,会在哪些方面选择跟它相同的道路,哪些方面不同。为此,记录了一些思考,给自己回顾,也供他人参考。初步大致有以下几个方面:数据双向绑定视图模型的继承关系模块和依赖注入的设计待定数据的双向绑定Angular实现了双向绑定机制。所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更...

2017-08-17 21:33:00 115

转载 AngularJS的Scope和Digest

Angular是一个成熟和强大的JavaScript框架。它也是一个比较庞大的框架,在熟练掌握之前,需要领会它提出的很多新概念。很多Web开发人员涌向Angular,有不少人面临同样的障碍。Digest到底是怎么做的?定义一个指令(directive)有哪些不同的方法?Service和provider有什么区别?Angular的文档挺不错的,第三方的资源也越来越丰富,想要学习一门新的...

2017-08-17 21:29:00 125

转载 用nrm一键切换npm源

当使用官方npm源安装各种包比较慢的时候,建议修改npm源地址查看npm源地址,在终端输入以下命令npm config list会看到官方的npm源metrics-registry = "https://registry.npmjs.org/"国内常用的镜像地址如淘宝npm:https://registry.npm.taobao.org/修改regis...

2017-06-24 10:13:00 201

转载 window版chrome 57.0.2970.0 (64-bit)滚动条的BUG

有一个元素div,它有一个子元素ul,给div添加一个:hover样式{color: red},挡鼠标hover div时,字体变红。当鼠标hover div时,ul字体变红,鼠标hover ul的滚动条,同样会触发div的:hover,ul的字体仍然显示红色,在“window版chrome 57.0.2970.0 (64-bit)”环境下,鼠标滑过ul的滚动条,竟然没有触发div的...

2017-06-19 21:19:00 101

转载 JavaScript严格模式有什么不同

看ES6,瞄到“严格模式”,问了下自己什么是“严格模式”?答案好像不是很明朗,遂总结如下:严格模式声明:“use strict”;1、禁止变量未声明就赋值2、限制动态绑定(属性和方法归属哪个对象在编译阶段就要确定) 1)禁止使用with 2)创建eval作用域,eval内声明的变量外部访问不到3、增强的安全措施 1)禁止this关键字指向全局对象...

2017-06-12 19:31:00 161

转载 textarea placeholder文字换行

要实现这样的效果第一反应是直接在placeholder属性值里输入\n换行,如:<textarea rows="5" cols="50" placeholder="1、textarea\n2、success"></textarea>浏览器直接输出了它,类似地输入<br/>也行不通解决方法是换成&#10;&...

2017-06-06 21:44:00 920

转载 前端跨域几种方式

跨域问题的直接原因是浏览器存在同源策略,浏览器同源指的是:两个页面的协议、端口和主机相同,则两个页面具有相同的源。IE下满足协议、主机相同,就认为是同源。想象一下,如果没有同源策略,谁都可以修改你站点上的内容,读取你的cookie,后果难以想象前端跨域的几种方式修改document.domaindocument.domain 用来获取当前网页的域名,document.do...

2017-05-08 23:30:00 97

转载 前端加载大图片从模糊到清晰

打开天猫随便点了个链接,加载了一张大的背景图片,该图片从非常模糊到正常显示有一个过程,深入了解一下它的实现过程。打开控制台,禁用Cache,模拟2G网络,刷新页面查看请求列表,浏览器先请求了一张缩略图,设置为div的背景图片,div宽高等同于整个页面,效果看起来就像页面已经显示出来一样在缩略图之上,才是正常尺寸图片显示到地方,当图片加载完毕显示出来就遮住了模糊的缩略图,当...

2017-05-08 21:27:00 3193

转载 解决sublime text 安装扩展提示There are no packages available for installation问题

前段时间想给sublime编辑器装个插件,发现总是报这个错误google后发现是“众所周知”的原因,设置里面的https://packagecontrol.io/channel_v3.json文件被墙了,然而直接在浏览器访问这个地址又是可以打开的,比较奇特。解决方法是将channel_v3.json下到本地,用node启一个服务,或者直接放到另一台局域网电脑上,然后修...

2017-05-06 12:16:00 116

转载 HTML的lang属性的作用

今天翻了一下《css权威指南》选择器章节,看到伪类选择器,也叫语言选择器:lang(language),顾名思义它会根据html设置的语言应用对应样式,如:*:lang(en){ color: red;}会作用在这个P元素上<p lang="en">中文english</p>效果就是p里的文字全部显示为红色,en代表英...

2017-05-05 23:41:00 253

转载 PHP生成验证码

<?php /** * php生成验证码 * @param $width 画布宽 * @param $height 画布高 * @param $vcodelen 验证码长度 * @param $pointnum 干扰像素点数量 * @param $linenum 干扰线条数量 * * 思路:创建验证码画布,生成并填充背景色,生成验证码内容/干...

2016-11-24 23:38:00 89

转载 PHP给图片加水印

<?php/** *图片加水印 *@param $srcImg 原图 *@param $waterImg 水印图片 *@param $savepath 保存路径 *@param $savename 保存名字 *@param $position 水印位置 *1:左上 2:右上 3:居中 4:左下 5:右下 *@param $opacity...

2016-11-24 11:09:00 64

转载 js加入购物车抛物线动画

天猫将商品加入购物车会有一个抛物线动画,告诉用户操作成功以及购物车的位置,业务中需要用到类似的效果,记录一下实现过程备忘,先上demo一开始没有想到用抛物线函数去做,也已经忘记还有这么个函数了,想着抛物线本质上就是向右和向上方向各有一个速度(就上面的demo而言),向右的速度匀速,向上的速度递减,减到0后再反方向递增,元素的left和top值随时间递增而改变,元素运动轨迹就是抛物...

2016-09-01 21:15:00 163

转载 Nodejs新手村指引——30分钟上手

概要#准备工作#开启简单的服务#路由#获取参数的三种方式#静态文件#数据库集成#async解决多重嵌套问题本文适合没有nodejs项目开发经验而又想对nodejs有个大概了解的你阅读,30分钟上手,也许还不用*****************************************************#准备工作安装好nodej...

2016-05-07 17:09:00 101

转载 mysql模糊查询like/REGEXP

增删改查是mysql最基本的功能,而其中查是最频繁的操作,模糊查找是查询中非常常见的操作,于是模糊查找成了必修课。like模式like意思是长得像,有两个模式:_和%_表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意“王”后面有两个_select name from 表名 where name like '王__';...

2016-04-16 00:06:00 155

转载 网页为什么会乱码?浅析字符集编码ASCII和Unicode

因为编码不对!什么是编码?编码不对为什么会乱码?……??编码转换为什么会丢失数据?……??不管是数据库还是网页,都可能碰到过乱码问题在计算机世界里,所有数据都使用二进制存储,即只有1和0,在人的世界里有中文/英文/阿拉伯文等,还有图片/视频/音频,如何使用二进制存储和显示它们呢?具体使用哪些二进制字符表示哪个符号的这样一种规则就叫编码。编码充当着一个翻译的角...

2016-04-10 16:54:00 144

转载 利用angular指令监听ng-repeat渲染完成后执行脚本

业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写。有经验的同学都应该知道,在ng-repeat模板实例内部会暴露出一些特殊属性$index/$first/$middle/$last/$odd/$even,$index会随着每次遍历(从0开始)递增,当遍历到最后一个时,$la...

2016-01-21 08:47:00 176

转载 AngularJS + ui-router + RequireJS异步加载注册controller/directive/filter/service

一般情况下我们会将项目所用到的controller/directive/filter/sercive预先加载完再初始化AngularJS模块,但是当项目比较复杂的情况下,应该是打开对应的界面才加载对应的controller等资源,但是AngularJS一旦初始化,之后加载的controller/directive/filter/sercive是不会自动注册到模块上的。用AngularJS...

2016-01-15 09:04:00 97

转载 AngularJS初始化静态模板

AngularJS可以通过ng-app来自动初始化模块,也可以通过angular.bootstrap(document, [module])手动启动应用,不管用哪种方法,应用启动后,动态往dom树里面添加的dom元素,无法执行angular指令,即无法通过ng-model、ng-click给动态添加的dom元素绑定数据和事件,怎么办?动态添加dom元素的场景非常常见,如点击某页面上修...

2016-01-13 23:56:00 125

转载 querySelector/querySelectorAll选择器两个容易忽略的点

jquery写得多了,原生js大API就容易忘。如果你也是这样,一起来回顾一下HTML5的类jquery选择器querySelector和querySelectorAll吧,querySelectorAll这个API有两个需要注意的点,见下文。先看看querySelector,语法:dom.querySelector(selectors)dom即任意dom元素,sel...

2016-01-07 08:53:00 205

转载 AngularJS过滤器filter入门

在开发中,经常会遇到这样的场景如用户的性别分为“男”和“女”,在数据库中保存的值为1和0,用户在查看自己的性别时后端返回的值自然是1或0,前端要转换为“男”或“女”再显示出来;如我要换个羽毛球拍,某猫上羽毛球拍的品牌多达数十种,我想单独查看YONEX这个品牌的羽毛球拍;买完羽毛球拍我还想买一桶羽毛球,点击按销量排序展示商品;以上三种场景分别对数据进行了转换/筛选/排序...

2015-11-20 08:20:00 68

转载 IE8及以下浏览器伪数组slice方法兼容处理

前几天同事说数组的slice方法在IE8下有兼容问题,我查阅了MDN,文档里面有提到IE8及以下浏览器中,DOM对象组成的伪数组通过call调用slice方法没有遵循标准行为我做了个demo在IE8上做了测试<div>古</div><div>德</div><div>God</div>&...

2015-11-07 16:14:00 471

转载 AngularJs指令配置参数scope详解

AngularJs最重要也是最难理解的模块之一就是它的指令(directive)了,自定义指令配置有很多个参数,下面我只说说其中scope的配置极其含义。scope表示指令的作用域,它有三个可选值:true、false、对象{}。.directive("myDirective", function(){ return { restr...

2015-11-07 14:26:00 78

转载 【整理】如何使元素水平垂直居中

第一种:已知元素宽、高兼容:IE6+源码:<title>css使元素垂直居中</title><style type="text/css">.box{ width: 200px; height: 200px; background-color: grey; /*css使元素垂直居中*/ ...

2015-10-29 23:42:00 68

转载 javascript自定义事件

Javascript中的事件包括click、mouseover、submit、change等等,它们分别在元素被点击、鼠标滑过、表单提交、域的内容改变时触发,那么自定义事件是如何定义和触发的?它有什么意义?如何定义?自定义事件创建分两步:创建事件模型、初始化。document.createEvent()用于创建事件模型,它接收一个参数,表示事件模型的类型。事件模型类型一共有4...

2015-09-07 23:30:00 100

转载 canvas版《俄罗斯方块》

试玩(没有考虑兼容低版本浏览器):See the Pen Canvas俄罗斯方块 by 王美建 (@wangmeijian) on CodePen.**********************************************************************9月3日更新:修复了隐藏的比较深的BUG加上暂停、再来一次功能速度随分数增...

2015-08-31 13:46:00 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除