自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue 源码学习系列 四- vue _render

 上节我们分析到mountComponent函数中:vm._update(vm._render(), hydrating)这句,其中vm._render()是创建vNode我们一起看一下源码,vue的render函数在src/core/instance/render.js中声明代码如下:Vue.prototype._render = function (): VNode { co...

2018-08-15 14:36:38 252

原创 vue 源码学习系列 三- vue $mount 2

上一节我们介绍到调用mountComponent方法。我们来看一下他的庐山真容。打开src/core/instance/lifecycle.js:export function mountComponent ( vm: Component, el: ?Element, hydrating?: boolean): Component { vm.$el = el if ...

2018-08-13 14:25:27 273

原创 vue 源码学习系列 三- vue $mount 1

上一节在vue构造函数中有一句调用:vm.$mount(vm.$options.el),我来来看一下vue是如何把dom节点挂载上去的。打开 src/platforms/web/entry-runtime-with-compiler.js: /* @flow */import config from 'core/config'import { warn, cached } fr...

2018-08-13 10:57:29 242

原创 vue 源码学习系列 二- vue构造函数1

上篇我们找到vue的入口文件:src/platforms/web/entry-runtime-with-compiler.js源码如下:/* @flow */import config from 'core/config'import { warn, cached } from 'core/util/index'import { mark, measure } from 'cor...

2018-08-10 18:05:42 631

原创 vue 源码学习系列 二 - vue构造函数2

vue构造函数源码如下:function Vue (options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor and should be called with the `new` keywo...

2018-08-10 18:03:20 291

原创 vue 源码学习系列 一 - vue构建

最近在学习vue的源码,顺便在博客中记录一下学习历程。首先安装vue-cli和vue,这里不多做介绍。安装完成后vue目录如下: vue是通过rollup构建的,构建同时选择flow作为js类型检测工具,这里不多做介绍。打开工程根目录下面的package.json 里面部分内容如下:红框框内的3句命令分别构建web版本,服务端版本和weex版本vue这里我们只分析w...

2018-08-10 12:02:16 461

原创 js 封装ajax

闲来无事自己写一个ajax 加深对ajax请求的理解直接上代码function ajax(opt){ var url = opt.url; var method = opt.method || 'get'; var async = opt.async || true; var type = opt.type || 'json';

2017-02-07 10:14:47 217

转载 HTML渲染过程详解

HTML渲染过程详解  无意中看到寒冬关于前端的九个问题,细细想来我也只是对第一、二、九问有所了解,正好也趁着这个机会梳理一下自己的知识体系。由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请求加载到浏览器端时,浏览器对html的解析到呈现过程,后来经过几位道友分享,整理了一下url解析的过程,如下:用户输入url地址,浏览器根据域名寻找

2017-02-06 15:57:22 1525

转载 nodejs glob

node的glob模块允许你使用 *等符号, 来写一个glob规则,像在shell里一样,获取匹配对应规则的文件.这个glob工具基于javascript.它使用了 minimatch 库来进行匹配用法:首先下载glob包: npm install glob调用格式:var glob = require("glob")// optio

2016-12-17 10:10:30 1801

转载 js 跨域解决方案

js中几种实用的跨域方法原理详解这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.html同源检测的结果:要解决跨域的问题,我们可以

2016-11-15 13:33:16 291

原创 顶级域名,子域名,二级域名的区别

google.com 这叫一级域名或顶级域名mail.google.com 这叫二级域名250.mail.google.com 这叫三级域名mail.google.com和250.mail.google.com统称为google.com的子域名

2016-11-15 11:24:38 4125

转载 js 判断数组

这么基础的东西实在不应该再记录了,不过嘛,温故知新~就先从数据类型开始吧 js六大数据类型:number、string、object、Boolean、null、undefinedstring: 由单引号或双引号来说明,如"string"number:什么整数啊浮点数啊都叫数字,你懂的~Boolean: 就是true和false啦undefined:未定义,就是你创建一个变量

2016-11-14 14:30:58 228

原创 js 写一个函数兼容 不支持sort函数的的浏览器

//方法1冒泡排序var mySort = function(fn){if(typeof fn != 'function'){fn = function(a,b){return a-b;}}for(var i=0; i for(var j=i+1;jvar t = this[i];if(fn(this[i],this[j]) > 0){this[i]

2016-11-14 12:35:36 2528

原创 String 对象中的 正则表达式方法 search

定义和用法search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。语法stringObject.search(regexp)参数描述regexp该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。注释:要执行忽略大小写的检索,请追加标

2016-11-14 11:11:11 552

原创 String 对象中的 正则表达式方法 split

定义和用法split() 方法用于把一个字符串分割成字符串数组。语法stringObject.split(separator,howmany)参数描述separator必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。howmany可选。该参数可指定返回的数组的最大长度。如果设置了

2016-11-14 11:07:33 2137

原创 String 对象中的 正则表达式方法 replace

定义和用法replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法stringObject.replace(regexp/substr,replacement)参数描述regexp/substr必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一

2016-11-14 10:12:13 2756

原创 String 对象中的 正则表达式方法 match

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置,返回存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。说明match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹

2016-11-10 15:00:48 2118

原创 测试正则表达式

RegExp 对象包含两种方法:test()和exec(),功能基本相似,用于测试字符串匹配。test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值。存在返回true,反之返回false。exec()方法也用于在字符串中查找指定的正则表达式,如果exec方法执行成功则返回包含查找字符串的相关信息数组。如果执行失败返回null。此数组的第 0 个元素是与正则表达式

2016-11-10 11:29:33 655

转载 js 正则表达式 贪婪与惰性

首先引入一个介绍比较详细的网站http://www.jb51.net/article/31491.htm接下来是本人的简介其实贪婪和惰性很容易理解,从字面意思我们就可以知道,所谓的"贪婪"的意思就是,如果符合要求就一直往后匹配,一直到无法匹配为止,这就是贪婪模式。所谓的惰性模式就是一旦匹配到合适的就结束,不在继续匹配下去了,下面我介绍几个例子来主要讲述一下。首先讲述

2016-10-24 16:46:55 292

转载 正则表达式 负向前瞻

负向前瞻语法为(?!pattern),在被搜索字符串的相应位置不能有pattern部分表示的内容,也不将其作为匹配结果进行处理,当然也不会存储在缓冲区。例如正则表达式 /bed(?!room)/只能匹配后面不跟字串"room"的字串"bed",如字串"bedrock"等,且子串"room"并不作为匹配的结果返回。实例:var str = "bedroom bedclas

2016-10-24 16:44:35 1690

转载 正则表达式 正向前瞻

正向前瞻语法为(?=pattern),即在目标字符串的相应位置必须有pattern部分匹配的内容,但不作为匹配结果处理,更不会存储在缓冲区内供以后使用。例如,正则表达式/bed(?=room)/只能匹配子串"bedroom",而子串"room"并不作为匹配结果返回,以进行后续处理。同样正则表达式/Windows(?=2000|xp)/不能匹配WindowsNT,只能匹配其后紧跟子串"200

2016-10-24 16:43:05 1757

转载 正则表达式 非捕获性分组

非捕获性分组语法为(?:pattern),即将pattern部分组合成一个可统一操作的组合项,但不把这部分内容当作子匹配捕获,匹配的内容部进行编号也不存储在缓冲区中供以后使用。非捕获性分组方法在必须进行组合、但又不想对组合的部分进行缓存的情况下非常有用。例如,要在一篇英文资料中查找"program"和"project"两个单词,正则表达式可表示为/program|project/,也可表示

2016-10-24 16:40:11 1152

转载 javascript 正则表达式 候选

候选,即用"|"来表示模式的或关系。语法为expression | expression,符号"|"左右两边表示式是 "或"的关系,在模式匹配时可匹配左边或者右边。例如正则表达式为/John|Jack/,匹配字符串为"Jack is at home,where is John",可以成功匹配到字串"Jack",再次匹配时也可成功匹配到"John"。候选,即用"|"来表示模式的或关系。语法为

2016-10-24 16:33:23 236

转载 javascript 正则表达式 反向引用

反向引用语法为“\num”,即可引用编号为num的字匹配存储的内容。num是从1到99的整数,并且num是前面表达式中已编号的子匹配,当然也不能超出已有编号的范围。例如正则表达式/\w{5}/可以匹配目标字符串中连续出现五个字符,如"hahfi"、"abadc"、"aaaaa"、"zyich"等都可以成功匹配。如果要求五次出现的都是同一个字符,如"aaaaa"、"ccccc"等,则可以用正

2016-10-24 16:28:15 1049

转载 javascript 正则表达式 分组

正则表达式引入分组符“()”概念。其语法为“(pattern)”,即将“pattern”部分组合成一个可统一操作的组合项或字匹配。简单来讲就是用括号括起来一些字符、字符类或量词等,每个捕获的字匹配项按照其出现顺序存储在缓冲区中。缓冲区编号从1开始,最多可存储99个字匹配捕获的内容。分组可以嵌套使用,如表达式/(abc(123))/,存储编号与左括号“(”出现的先后次序相同,如分组(123)

2016-10-24 16:25:46 354

转载 实现键盘记录的e.Whick和keyCode

实现键盘记录的e.Whick和keyCode主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结第一部分:浏览器的按键事件用 js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句

2015-05-06 22:23:46 321

转载 Mysql缓存看上去很美

当你的数据库打开了Query Cache(简称QC)功能后,数据库在执行SELECT语句时,会将其结果放到QC中,当下一次处理同样的SELECT请求时,数据库就会从QC取得结 果,而不需要去数据表中查询。在这个“Cache为王”的时代,我们总是通过不同的方式去缓存我们的结果从而提高响应效率,但一个缓存机制是否有效,效果如何,却是一个需要好好 思考的问题。在MySQL中的Query Cache就

2015-04-14 15:22:33 4706

转载 wamp 安装后修改配置

wamp 安装过程省略我的wamp装在c盘下,需要修改一下C:\wamp\Apache2\conf下的httpd.conf文件中的一些权限设置找到下面Directory开头的下面两段:   #   # Possible values for the Options directive are"None", "All",   # or any combinationof:    # 

2015-02-28 14:51:36 351

原创 wamp WAMP 403 Forbidden禁止访问

WAMP 403 Forbidden禁止访问第一种情况本机访问http://localhost没问题,换台机器远程访问http://192.168.1.x/ 就显示403错误,权限限制。这个WAMP还真是不错,缺省安装是禁止非本地ip访问。解决办法:在C:\wamp下面找到apache配置文件httpd.conf 搜索关键字 "deny from ",会发现一处

2015-02-28 14:33:08 2115

空空如也

空空如也

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

TA关注的人

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