自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

纸上得来终觉浅,绝知此事要躬行

每一个坑,都来之不易!

原创 如何用发布订阅模式管理混乱弹窗

前言弹窗,对于大家来说是司空见惯了。对于弹窗,我会分为两类:一种是模态框,另一种是业务定制弹窗。不管哪类,在开发中都应该有一套规范去管理这些弹窗,以便容易扩展和维护。模态框一般可以通过引用组件库或者自己封装来实现重复调用(用到即调);而定制弹窗会根据产品的需求和节日不同定期进行修改更换,并且弹窗之前存在互斥关系,同时出现的话则根据优先级进行展示等。背景在业务大的场景下,...

2019-12-29 17:40:35 801

原创 作为前端开发,这些轮子还是要造的 - instanceof篇

“知其然而知其所以然,我们都知道instanceof用来干嘛,那也应该要知道其实现原理”01—instanceof用途相信大多数人都用过instanceof操作符,不扯淡,下面先简单说下基本使用方式和场景。场景当大家用到instanceof的时候,大多数是你的typeof 已经不能满足要求了。typeof 在处理基本数据类型的时候还是...

2019-12-03 23:27:37 320

原创 JavaScript编码常见注意点

1.立即执行函数立即执行函数,通常也可作闭包,能够构造一个函数级别的变量作用域。一般写法如下:(function () { // code})();但是这中写法容易造成一些问题,如上面的代码如果没有分号结尾的话:var a = 1(function () { // Uncaught TypeError: 1 is not a function})()那么应该这样写:void functi...

2018-02-23 22:19:38 723

原创 常用的JavaScript编码规范

前端入坑依赖前前后后写了好几个项目,在用JavaScript写交互逻辑的时候,或多或少写了一些垃圾代码,如全局变量污染、代码复用性差、简洁性不高等直接给代码后期维护的造成一些困惑。下面是一些JS编码方面有待提高的地方,可直接在开发中加以应用,致力于写出更优雅的代码。说到代码规范,我们或许会想到ESLint规则,下面的规范有涉及到ESLint规则的进行了相关的说明,也许在你使用ESLint的时候出现...

2018-02-22 18:17:19 1459 1

原创 谈谈网页中使用奇数字体和偶数字体

相信大多数人在开发中一开始被教导应该使用偶数字体多于奇数字体,但是并不懂其中的缘由。本人总结了一些大牛的看法和实践。为何偶数居多?1.比例关系相对来说偶数字号比较容易和页面中其他部分的字号构成一个比例关系。如我使用14px的字体作为正文字号,那么其他部分的字体(如标题)就可以使用14×1.5 =21px的字体,或者在一些地方使用到了14×0.5=7px的padding或者margin,如果你是在用...

2018-02-22 12:52:05 17320 1

原创 个人理解的VueJS生命周期以及其中钩子函数的实际应用

朋友你好!很幸运的,我的文章能够被你看到,那么此时你应该想对vuejs的生命周期有更为通俗的理解,以及想知道其中某些钩子函数在实际开发中的应用场景,下面直接看图吧。1.vue的生命周期简单的说生命周期就是事物从产生到消失的一个时间过程。那么vue的生命周期就是从其被创建到销毁的过程,其中包含了开始创建、初始化数据、编译模板、挂载dom(渲染) ,渲染->更新->渲染、销毁(卸载)等

2018-02-03 21:58:29 6888 4

原创 NodeJs连接mongodb数据库成功之后报db.collection is not a function错误-已解决

在nodejs操作mongodb显示数据库连接成功之后突然报了db.collection is not a function错误,引起这个错误的原因是你monodb库的版本和你nodejs操作数据的api版本不一致。那么解决这种问题的方法有两种,首先先看看代码:解决办法一:/** * Created by lenovoo on 2018/1/23. */ var e

2018-01-24 11:28:57 13636 5

原创 微信小程序之消息推送配置Token验证失败-已解决

微信小程序配置消息推送的时候一般都会出现Token验证失败的问题,这个错误是因为,你的接口页面还没有反馈正确的信息给微信接口,网友们也给出了一些解决方法,但有些能够配置成功,有些则不然。下面给出网友提供的2种比较容易配置成功的php接口验证代码。代码示例一(我的验证可以成功):<?php //1. 将timestamp , nonce , token 按照字典排序 $times

2018-01-24 10:26:42 6348 1

原创 ES6中symbol介绍

1、概述:ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。那么它产生的原因是什么呢?或者说它有什么作用?在ES5中对象属性名都是字符串形式,这就难免会产生命名冲突的问题,为了防止

2018-01-24 09:50:21 3892

转载 查找nginx安装的路径以及相关安装操作命令

查找nginx安装的路径以及相关安装操作命令Linux环境下,怎么确定Nginx是以那个config文件启动的? [root@localhost ~]# ps -ef | grep nginxroot 21196 1 0 23:40 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

2018-01-24 09:44:24 15807

原创 Linux中查找nginx安装目录和nginx.conf配置文件目录

1.查看nginx安装目录在shell中输入命令# ps -ef | grep nginx返回结果root      4593     1  0 Jan23 ?        00:00:00 nginx: master process /usr/sbin/nginx2.查看nginx.conf配置文件目录在shell中输入命令# nginx -t返回结果n

2018-01-24 09:41:01 88155 2

转载 三张图区别多页和单页应用模式

关于单页应用和多页应用模式的区别,借助网友的三张图就可以说明。图片来源:http://blog.csdn.net/u013291076/article/details/53667382

2017-12-29 10:32:46 7596

转载 C/S和B/S和RIA

C/S特点:         C/S(Client/Server,客户/服务器)方式的网络计算模式,A、服务器负责管理数据库的访问,并对客户机/服务器网络结构中的数据库安全层加锁,进行保护;B、客户机负责与用户的交互,收集用户信息,通过网络向服务器发送请求。C、C/S模式中,资源明显不对等,是一种“胖客户机(fat client)”或“瘦服务器(thin server)”结构。

2017-12-06 11:14:01 918

转载 关于HTML(含HTML5)的块级元素和行级(内联)元素总结

1.首先我们要知道什么是块级元素和行级(内联)元素?   块级(block)元素的特点: ①总是在新行上开始;   ②高度,行高以及外边距和内边距都可控制;   ③宽度缺省是它的容器的100%,除非设定一个宽度;   ④它可以容纳内联元素和其他块元素。    内联(inline)元素的特点:   ①和其他元素都在一行上;   ②高,行高及外边距和内边距不可改

2017-12-04 23:08:34 2881

原创 HTML5中废弃的标签属性

在笔试或者面试中常常会遇到html5新标准的问题,下面是总结的html5废弃标签。第一类:表现性元素basefontbigcenterfontsstrikettu第二类:框架类元素frameframesetnoframes注:html5中支持 iframe。第三类:属性类很多表现性的属性也被新规范移除,如下:alignbody

2017-12-04 22:59:10 2540

原创 HTML5中新增标签及简介

在笔试或者面试中常常会遇到html5新标准的问题,如新增了哪些新标签,API,或者干脆问新增了哪些新特性,下面是总结的html5新增标签。html5中新增标签:article> 标记定义一篇文章aside> 标记定义页面内容部分的侧边栏audio> 标记定义音频内容canvas> 标记定义图片command> 标记定义一个命令按钮datalist> 标记定义一个下拉列表

2017-12-04 22:44:18 601

转载 JavaScript中常见排序算法详解

来自:wowphp,作者: 不是小羊的肖恩链接:https://wowphp.com/post/komxdx8qe862.html有句话怎么说来着:雷锋推倒雷峰塔,Java implements JavaScript.当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript),如今早已光芒万丈。n

2017-11-20 00:09:22 317

转载 Sass的四种编译方式

我们都知道Sass其实有两种,一种是Sass,一种是SCSS。  Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和

2017-11-02 10:17:33 1598

转载 web前端面试题及答案

1、常用那几种浏览器测试?有哪些内核(Layout Engine)?  答:        (Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。     (Q2) 内核:Trident,Gecko,Presto,Webkit。 2、 说下行内元素和块级元素的区别?行内块元素的兼容性使用?(IE8 以下)答:  (Q

2017-11-02 10:08:56 375

原创 改变this指向的三种常用方法

JavaScript中this的是一个值得深入的话题,下面总结了改变this指向的3种常用方法。首先弄清楚函数这个概念:函数本身就是一种特殊类型,要时刻明白一点,函数也可以认为是一种变量。1.通过对象的方法来定义一个函数(谁绑定了我,我就指向谁)通俗的话来说,就是如果这个函数是某个对象的方法(key),那么函数中的this就指向这个对象。 var a = function(obj)

2017-11-01 15:39:21 12212

转载 undefined与null的区别

undefined与null的区别作者: 阮一峰日期: 2014年3月28日大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么?

2017-11-01 12:06:15 304

原创 git 分区详解

了解git基本操作和使用,那么就先来了解下git分区是什么?完整的一个提交流程是怎样的?先看下图简单说明一下,本次演示的目录是gitTest目录远程github目录如下:首先,git分区分为三个区,如图一,工作区:代码(文件)编辑的地方;暂存区:暂时缓存文件的地方。为什么要有暂存区?其实对比SVN来说,SVN中是没有暂存区这个概念,代码直接从工作

2017-10-25 11:45:24 1862

转载 全面理解Git

前言总括: 本文详细讲解了Git常用命令的技巧和使用方法。原文博客地址:Git命令总结知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)博主博客地址:Damonare的个人博客人生贵知心,定交无暮早。正文1.Git简介Git的诞生确实是一个有趣的故事,我们知道,当年Linus创建了开源的Linux,从此,Linux

2017-10-23 12:15:19 313

原创 git push的时候跳过输入用户名和密码

1.背景在项目开发的时候,很多时候在使用git进行团队合作的时候,当每次需要push和pull的时候需要输入github的账户名和密码,这显然繁琐并降低了效率。那么可以使用下面的配置进行跳过这个验证。2.两种方法2.1通过创建文件存储用户名和密码打开$HOME$目录,如果你不知道在哪,那么可以使用git bash 输入echo $HOME查看这个路径,一般都在C:\Users\ad

2017-10-23 11:15:08 2580

原创 mysql基本数据类型

整型数据类型存储范围字节TINYINT有符号值:-128 到 127(-27到27)无符号值:0到255(0到28)1SMALLINT有符号值:-32768 到 32767(-到215到215)无符号值:0到65535(0到216-1)2MEDIUMINT有符

2017-10-17 21:49:28 299

原创 Web前端性能优化优秀文章集锦

前端优化1.Google和雅虎提供的Web页面优化最佳实践:http://www.csdn.net/article/2013-09-23/2817020-web-performance-optimization2.web前端性能优化总结:http://blog.csdn.net/mahoking/article/details/514726973.前端优化最佳实践:ht

2017-10-13 20:01:15 396

原创 图片懒加载与预加载

1.懒加载认识一个新的东西,那么就从what、why开始。即想要了解图片懒加载技术,那么先了解什么是懒加载?为什么需要用到懒加载?1.1什么是懒加载?懒加载又称延迟加载。当访问一个页面的时候,需要先把img元素或者其他元素的背景图先用一张默认的图片代替(占位图),这样子浏览器渲染页面的时候就只需请求一次。当图片出现在浏览器可视区域的时候,才设置图片的真实路径,把图片显示出来。1

2017-10-13 13:53:13 1324

原创 服务器发送事件SSE和web sockets实时通信

1.服务器发送事件SSE(服务器发送事件)是围绕只读Comet交互推出的API或者模式。SSE用于创建到服务器的单向连接,服务器通过这个连接可以发送任意数量的数据。服务器响应的MIME类型必须是text/event-stream,而且是浏览器中的JavaScript API能解析格式输出。SSE支持短轮询、长轮询和HTTP流,而且能在断开连接时候自动确定何时重新连接。那么,此时的C

2017-10-12 21:25:05 1370

原创 服务器推送数据之Comet

概念:Comet指的是一种更高级的ajax技术(称为‘服务器推送’)。ajax是一种从页面向服务器请求数据的技术,而Comet则是一种服务器向叶面推送数据的技术。Comet能够让信息近乎实时地传递到页面,非常适合处理体育比赛的分数和股票报价。实现Comet的方式有两种:长轮询和流。短轮询(传统轮询):浏览器定时向服务器发送请求,看看有没有更新的数据。如下图:长轮询:长轮询把

2017-10-12 20:19:34 581

转载 微信小程序 开发中遇到问题总结

微信小程序 开发中遇到问题总结1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载。例:?1234567891011121314151617

2017-10-11 11:33:44 3100 2

原创 使用SqlYog出现中文乱码解决

简单方法:在SQLyog中先选择表->右键->更改表->右下角有一个 隐藏语言选项(默认选中)->取消即可 进行修改 即可。

2017-10-08 12:52:08 14686 14

转载 MySQL命令行查询乱码解决方法

MySQL命令行查询乱码解决方法:MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8,utf8可以兼容世界上所有字符第一步:找到安装mysql的目

2017-10-08 12:50:22 725

原创 JavaScript作用域和变量提升

1.变量作用域作用域:就是变量声明的区域,也是变量和函数的可访问范围。在全局声明的变量为全局可见可访问的就是全局变量,如果在函数内部声明的变量只能在函数内部可访问,可称为局部变量。几个注意点:1.JavaScript中没有块级作用域(在ES5和ES6之前),只有函数作用域和全局作用域。for循环内部定义的变量是函数级别的作用域。2.变量没有在函数内声明或者声明的时候没有带v

2017-10-06 13:55:35 311

原创 JavaScript执行上下文,执行上下文栈

背景:在面试中经常会遇到函数和变量提升,作用域等问题,如果想深入理解其原理,那么首先要弄清楚函数执行上下文和执行上下文栈这两个概念。再次之前先介绍下栈的数据结构:总结起来一句话:新的数据从栈顶压入,弹出数据也是从栈顶进行弹出,也就是我们所说的弹夹原理。1.执行上下文(Excution Context)执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。JavaS

2017-10-06 10:29:13 732

原创 javascript线程,任务队列和事件循环

1.为什么说JavaScript是单线程的?浏览器渲染页面过程中涉及到的几个线程有:JavaScript执行线程,负责执行js代码,UI线程,负责UI展示,JavaScript事件循环线程,管理JavaScript事件,其中JavaScript执行线程和UI线程是互斥的.如果说JavaScript是多线程的话,那么多个JavaScript执行线程在操作同一个dom的时候,比如分别把

2017-10-06 08:54:30 589

原创 vuejs组件状态管理Vuex

对于新手来说,一开始接触vuex时候只听说它很强大,很好用,各种nb操作,一旦尝试去了解它的时候便显得力不从心。本人也是如此,一开始接触的时候通过看文档, 看视频,最后还是把它搁一边去。一段时间之后回来再琢磨的时候,便有了新的认识和理解。首先,如果你想真正掌握vuex,那么就的弄清楚这几个问题:1.什么是vuex?2.在什么情况下要用到vuex(也就是vuex能够解决什么样的问题),什

2017-10-04 09:50:31 2413

转载 JavaScript 事件委托详解

基本概念事件委托,通俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素;一般来讲,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,当事件响应到需要绑定的元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数。举个例子,比如一个宿舍的同学同时快递到了,一种方法就是他

2017-10-01 23:33:22 213

转载 看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序

抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享。 (一)事件绑定的几种方式javascript给DOM绑定事件处理函数总的来说有2种方式:在html文档中绑定、在js代码中绑定。下面的方式1、方式2属于在html中绑定事件,方式3、方式4和方式5属于在js代码中绑定事件,其中方法5是最推荐的做法。方式1:HTML的D

2017-10-01 23:25:34 200

转载 从 __proto__ prototype 说起

先来做个复习,ES5中有有几种数据类型呢?5种基本数据类型UndefinedNullBooleanNumberString1种复杂数据类型Object除了基本数据类型,万物皆对象,记住这个很重要,这体现了js设计的哲学思想,和现实生活事物存在的关系一模一样。接触js也一年有余了,刚开始看各种概念感觉在记忆,先能上手干活的感觉也让自己先用了js起来,回

2017-10-01 23:06:39 226

转载 使用box-sizing布局

盒子模型关于CSS重要的一个概念就是CSS盒子模型。它控制着页面这些元素的高度和宽度。盒子模型多少会让人产生一些困惑,尤其当涉及到高度和宽度计算的时候。真正盒子的宽度(在页面呈现出来的宽度)和高度,需要加上一些其它的属性,例如:padding + border + width= 盒子的宽度padding+ border + height = 盒子的高度这看起来并不是那么直观

2017-10-01 21:00:38 559

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