自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 js位运算-按位非

正数取得二进制表示取反(发现符号位是1,表示负数)符号位不变,其余位取反取反后加一负数取得负数的二进制表示(即绝对值的二进制反码加一)取反即可转载于:https://www.cnblogs.com/zt123123/p/11504052.html...

2019-09-11 00:39:00 1543

转载 mysql表损坏解决方案

https://www.cnblogs.com/zhujunxiong/p/7631001.html转载于:https://www.cnblogs.com/zt123123/p/10646507.html

2019-04-03 05:27:00 2143

转载 h5新API之WebStorage解决页面数据通信问题

localStorage相信大家都不陌生,今天我们要讨论的不是怎么存储数据,获取数据。而是看看WebStorage的一些妙用,相信大家在开发中遇到过这样一个场景,一个页面中嵌套一个iframe,iframe中填写了一些数据,关闭iframe后,需要通知页面中变化数据,或者触发某个事件。这个需求说难不难,说简单不简单,解决方式也是五花八门,读者可以在评论区留言。我要说的是,用storage...

2019-01-15 15:31:00 262

转载 JS算法之二分查找

二分查找法主要是解决「在一堆有序的数中找出指定的数」这类问题,不管这些数是一维数组还是 多维数组,只要有序,就可以用二分查找来优化。二分查找是一种「分治」思想的算法,大概流程如下: 1.数组中排在中间的数字 A,与要找的数字比较大小 2.因为数组是有序的,所以: a) A 较大则说明要查找的数字应该从前半部分查找 b) A 较小 则说明应该从查找数字的后半部分查找 3.这样不断查找缩...

2018-12-25 16:44:00 455

转载 JS排序算法之快速排序

const Arr = [85, 24, 63, 45, 17, 31, 96, 50];function quickSort(arr) {80 if (arr.length <= 1) { return arr; } let pivotIndex = Math.floor(arr.length / 2); let pivot = arr.splic...

2018-12-25 16:27:00 270

转载 Clipboard深度实践与采坑记录

1.css禁止选择导致IOS无法复制body{-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}2.下面...

2018-12-23 11:11:00 367

转载 大型NodeJS项目架构与优化

使用场景:proxy(API冗余,跨域)vue ssr(服务端渲染)socket(大并发,通讯)区块链(创业公司,新兴行业)讨论什么?NodeJS异步IO原理及优化方案NodeJS内存管理及优化方案大型项目Node站点结构原理服务器集群与Node集群应用UV过千万的Node站点真身一.NodeJS异步IO原理及优化方案...

2018-11-23 14:14:00 1245

转载 typeof引发的思考

今天在群里看到一位网友提问:var status=1;typeof status结果输出什么我会心一笑 ,这尼玛这么简单,一看就是‘number’,结果网友说不是number,而是string,我心想怎么可能,结果在浏览器测试,打脸了,输出了string经过查阅资料,有一位博主遇到过类似的问题,有一句重点,‘status是window下的一个属性’。这引起了...

2018-11-22 17:31:00 2678

转载 redux最佳实践

对于初学者,redux的理念很难理解。其实redux并不难,redux核心理念就是数据仓库,所有数据操作来源都是明确的。只不过不是直接操作数据,而是交给特定的角色做特定的工作,分工明确。provider全局访问storeconnector连接组件与storereducer分组redux-thunk中间件action异步请求immutabl...

2018-10-24 21:41:00 889

转载 JavaScript 使用 mediaDevices API 选择摄像头

大多数智能手机都有前置和后置摄像头,当你在创建视频应用时你可能想要选择或者切换前置、后置摄像头。如果你开发的是一款聊天应用,你很可能会想调用前置摄像头,但如果你开发的是一款拍照软件,那么你会更倾向于使用后置摄像头。在这篇文章中我们将探讨如何通过 mediaDevices API 和 media constraints (媒体约束) 选择或者切换摄像头。准备工作要跟着本文一起动...

2018-05-10 15:23:00 716

转载 rem布局加载闪烁问题

说明:以下内容来自CSDN,如有侵权,请立刻联系博主(我),我将删除该内容。原文链接https://blog.csdn.net/u013778905/article/details/77938784先上体验地址:http://jiguang.qq.com/jiguang_app/kapian/html/card-query.html?from=singlemessag...

2018-05-10 12:50:00 260

转载 npm tls证书报错

Error: unable to verify the first certificate设置node环境(零时使用,再次使用需要重新使用)set NODE_TLS_REJECT_UNAUTHORIZED=0转载于:https://www.cnblogs.com/zt123123/p/8964919.html...

2018-04-27 22:30:00 2159

转载 express中间件代理实现跨域

前端代码var xhr = new XMLHttpRequest();xhr.open('post', 'http://localhost:3000', true);xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { ...

2018-04-18 23:43:00 386

转载 原生js实现ajax跨域(兼容IE8,IE9)

html设置meta标签兼容360兼容模式和IE怪异模式<meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;IE=7;ie=edge">原生js跨域var xhr = null; // IE8/9需用window.XDomainRequest兼容if (window.XDomainReques...

2018-04-18 23:10:00 919

转载 Promise初探

在JavaScript的世界中,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现:function runAsync1() { var p = new Promise(function (resolve, reject) { //做一些异步操作 ...

2018-03-15 21:35:00 125

转载 如何部署单页面项目到服务器

今天做vue单页项目,在本地dev环境下一切正常,准备部署到生产环境,结果发现页面一片空,想了许久,都不知道是什么问题。后来和后台同事交流,发现我的页面并不是在服务器根目录,而是由子目录。后来才想起来曾经看过的一篇文章,内容如下:最近好多伙伴说,我用vue做的项目本地是可以的,但部署到服务器遇到好多问题:资源找不到,直接访问index.html页面空白,刷新当前路由404.......

2018-03-15 17:03:00 458

转载 浅谈js设计模式 — 享元模式

享元(flyweight)模式是一种用于性能优化的模式,“fly”在这里是苍蝇的意思,意为蝇量级。享元模式的核心是运用共享技术来有效支持大量细粒度的对象。假设有个内衣工厂,目前的产品有 50种男式内衣和 50种女士内衣,为了推销产品,工厂决定生产一些塑料模特来穿上他们的内衣拍成广告照片。 正常情况下需要 50 个男模特和 50 个女模特,然后让他们每人分别穿上一件内衣来拍照。不使用享...

2018-02-09 11:24:00 168

转载 浅谈js设计模式 — 命令模式

命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。假设我们正在编写一个用户界面程序,该用户界面上至少有数十个 Button 按钮。因为项目比较复杂,所以我们决定让某个程序员负责绘制这些按钮,而另外一些程序员则负责编写点击按钮后的...

2018-02-08 17:23:00 89

转载 浅谈js设计模式之发布 — 订阅模式

发布 — 订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript开发中,我们一般用事件模型来替代传统的发布 — 订阅模式。var salesOffices = {}; // 定义售楼处salesOffices.clientList = []; // 缓存列表,存放订阅者的回调函数sa...

2018-02-07 12:46:00 184

转载 浅谈js设计模式之迭代器模式

迭代器模式无非就是循环访问聚合对象中的各个元素。比如 jQuery中的 $.each 函数,其中回调函数中的参数 i 为当前索引, n 为当前元素,代码如下:$.each([1, 2, 3], function(i, n) { console.log('当前下标为: ' + i); console.log('当前值为:' + n);});现在我们来...

2018-02-05 10:25:00 57

转载 浅谈js设计模式之代理模式

代理模式是一种非常有意义的模式,在生活中可以找到很多代理模式的场景。比如,明星都有经纪人作为代理。如果想请明星来办一场商业演出,只能联系他的经纪人。经纪人会把商业演出的细节和报酬都谈好之后,再把合同交给明星签。var Flower = function() {};var xiaoming = { sendFlower: function(target) { ...

2018-01-25 10:08:00 136

转载 浅谈js设计模式之策略模式

策略模式有着广泛的应用。本节我们就以年终奖的计算为例进行介绍。很多公司的年终奖是根据员工的工资基数和年底绩效情况来发放的。例如,绩效为 S的人年终奖有 4倍工资,绩效为 A的人年终奖有 3倍工资,而绩效为 B的人年终奖是 2倍工资。假设财务部要求我们提供一段代码,来方便他们计算员工的年终奖。一开始,你可能会这样组织你的代码var calculateBonus = func...

2018-01-24 10:51:00 78

转载 浅谈js设计模式之单例模式

单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的 window 对象等。在 JavaScript开发中,单例模式的用途同样非常广泛。试想一下,当我们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少次登录按钮,这个浮窗都只会被创建一次,那么这...

2018-01-23 10:21:00 94

转载 常见HTTP状态码

作为一个互联网开发人员对于一些服务器返回的HTTP状态的意思都必须是了如指掌的,只有将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手。好了,下面就让我们来了解一下比较常见的HTTP状态码吧!100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分101 Switching Protocols 服务器将遵从客户的请求转换到另外一种...

2018-01-22 10:01:00 526

转载 安装node版本管理工具之NVM

nvm是个啥?nvm是一个可以让你在同一台机器上安装和切换不同版本node的工具。你可能会问,为什么会有这个工具?有时候在开发的时候,对node版本有强制要求,有的要求用最新版本,有的要求用稳定版本,你不可能来回卸载安装吧,这时候NVM应运而生。下载地址github地址:https://github.com/creationix/nvmwindows下载地址: https...

2018-01-17 14:44:00 107

转载 原生js封装dom操作库

var utils = (function(window) { var flag = "getComputedStyle" in window; function win(attr, value) { if(typeof value !== "undefined") { document.documentElem...

2018-01-17 09:45:00 216

转载 你真的了解js伪数组吗?深入js伪数组

关于js伪数组具有length属性;按索引方式存储数据;不具有数组的push()、pop()等方法;你可能知道怎么把伪数组转换为数组,但是你知道这里边的原理吗?假如页面有一组li元素<ul> <li>1111</li> <li>1111</li> ...

2018-01-15 13:40:00 784

转载 两行代码搞定js对象深浅拷贝

有一段时间没有更新博客了,忙于工作。2018年刚过去,今天来开启2018第一篇博文。好了,咱们步入正题。先上代码/** * 遍历对象 * 1.判断是不是原始值 * 2.判断是数组还是对象 * 3.建立相应的数组或对象 * 递归 */var obj={ name:"aaa", age:23, hobby:["ba...

2018-01-14 14:37:00 1140

转载 前端打包工具之fis3的初级使用

说到打包工具,大家都会想到webpack,我之前也接触过webpack,说实话个人觉得webpack上手容易,但是对于新手来说里面有太多坑,配置文件也不简单。于是乎,我转入了fis3阵营,发现fis3对于新手来说再合适不过了,fis3只用记住几条命令就可以解决日常需求。下面开始讲解:1.fis3 release [-d 发布路径]发布代码到fis3本地浏览器,括号中代表发布到哪个...

2017-11-16 14:33:00 282

转载 js事件兼容处理

js封装事件处理函数,兼容ie,支持事件代理var eventUtil = { bindEvent: function(el, type, target, callback, popgation) { /** * @author zhangtian * @date 2017/11/16 * @...

2017-11-16 11:40:00 97

转载 js自定义鼠标右键菜单

document.oncontextmenu = function(e) { return false;}document.onmousedown = function(e) { switch(e.button) { case 0: console.log("鼠标左键") break; ...

2017-11-14 09:58:00 83

转载 html5拖拽初窥

说到拖动,大概有两种方式,一种是js实现,之前已经介绍过,今天来讲解另外一种方式,那就是使用html5实现拖动。css样式.box { width: 200px; height: 200px; border: 1px solid #eee;}.box2 { margin-top: 20px; width: 200p...

2017-10-31 17:48:00 72

转载 web性能优化之js图片懒加载

html<div class="container"> <ul> <li> <div id="first" class="pic"><img src="" alt="" trueimg="./img/HBuilder.png" /></div> <div cla...

2017-10-23 15:58:00 251

转载 移动端rem布局

移动端布局(function(doc, win) { var docEl = doc.documentElement,//设备宽度 rem = 100, //1rem代表100px desW = 640, //设计稿宽度 resizeEvt = 'orientationchange' in window ? 'ori...

2017-10-23 15:56:00 5190

转载 经典面试题:js继承方式下

上一篇讲解了构造函数的继承方式,今天来讲非构造函数的继承模式。一、object()方法json格式的发明人Douglas Crockford,提出了一个object()函数,可以做到这一点。function object(o) {     function F() {}     F.prototype = o;     return new ...

2017-10-16 13:57:00 362

转载 经典面试题:js继承方式上

js不是传统的面向对象语言,那么他是怎么实现继承的呢?由于js是基于原型链实现的面向对象,所以js主要通过原型链查找来实现继承,主要有两大类实现方式,分为基于构造函数的继承,以及非构造函数的继承。由于篇幅较长,所以把文章分为上下篇,今天先讲解上半部分。现在有两个类即构造函数,一个是动物类function Animal() {     this.species =...

2017-10-16 13:50:00 139

转载 用js面向对象思想封装插件

js是基于原型的面向对象语言,如果你学过java,c#等正统面向对象语言,你会难以理解js的面向对象,他和普通的面向对象不太一样,今天,我们通过封装一个toast插件,来看看js面向对象是如何运行的。html<div id="toast"></div>css* { margin: 0; padding: 0;}...

2017-10-10 12:30:00 226

转载 从bind函数看js中的柯里化

以下是百度百科对柯里化函数的解释:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。概念太抽象,可能并不怎么好理解,下面来举个栗子说明什么是函数柯里化。 1 var obj = { 2 name: "aaaaaaaaaa" 3 }; 4 5 var nam...

2017-10-09 17:09:00 303

转载 js实现图片懒加载

大型购物网站都会采用图片懒加载技术来优化网站首页打开速度,以提高用户体验,那么具体是怎么实现的呢,我们一探究竟。html结构(div包裹一层用来显示背景图片,等待图片加载完成后,显示真实图片)<div class="box" id="box"> <img src="" trueImg="img/timg.jpg" /></div&g...

2017-10-08 19:59:00 111

转载 js实现拖拽

拖拽效果在网站中是很常见的一种效果,其实现原理很简单,不过其中也隐藏了不少关键知识点,比如说焦点丢失问题等。接下来看看具体代码是怎么实现的。css样式(注意:元素要定位,不然没有效果)1 .box {2 position: absolute;3 width: 100px;4 height: 100px;5 background-...

2017-10-08 14:14:00 51

空空如也

空空如也

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

TA关注的人

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