自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(42)
  • 收藏
  • 关注

转载 github使用手册

1、git init2、git add README.md(增加文件夹/文件:git add dir/files)3、git commit -m "注释内容”4、git push -u origin masteradd -> commit -> pushgithub只会将你的gh-pages分支部署上去,不会动你的其他分支的东西。所以,我们要将改...

2016-05-19 17:57:00 121

转载 javascript正则表达式

元字符( [ { \ ^ $ | ) ? * + .预定义的特殊字符字符正则描述\t/\t/制表符\n/\n/制表符\r/\r/回车符\f/\f/换页符\a/\a/alert字符\e/\e/escape字符\cX/\cX/与X...

2016-04-03 23:38:00 222

转载 编写可维护的 Gruntfile.js

load-grunt-tasks 插件首先介绍下load-grunt-tasks这个插件。我们一般都会把所有用到的插件以及插件的配置写到Gruntfile.js里面,对于小项目来说这个文件最终或许不是很大,但是对于大项目、有很多配置或者很多自定义任务的项目来说,最后这个文件都会变得越来越长,维护起来就成了麻烦。比如下面这样:module.exports = fun...

2016-03-22 11:56:00 141

转载 Nodejs 如何制作命令行工具

# 全局安装,安装报错是需要前面加上sudo$ sudo npm install -g xxxb # 输出帮助$ xxxb -h Usage: xxxb 这里是我私人玩耍的命令哦![options] <package> Commands: resume|rs [options] [cmd] 这里是我的简历详情!...

2016-03-21 19:13:00 201

转载 提交自己的包到 npm 中

npmnpm全称Node Package Manager,是node.js的模块依赖管理工具。使用github管理NPM包的代码,并定期提交至NPM服务器;npm官网提交自己开发的NPM包创建package.json文件package.json文件的使用可以让包的安装更容易,你可以在应用程序的根目录下创建一个名为package.json的文件,并定义它的依赖关系。使用...

2016-03-21 19:07:00 128

转载 r.js压缩打包

AMD模块化开发中的代码压缩打包工具——r.js环境搭建基于nodejs;用于AMD模块化开发中的项目文件压缩打包,不是AMD模式也是可以的javascript部分压缩javascript项目开发文件夹build.js压缩打包配置文件,文件名可随意({ appDir : './', //基于build,根目录 baseUrl : './project', /...

2016-03-21 14:46:00 109

转载 javascript 权威指南

1、对象1.1、序列话对象JSON.stringify() 和JSON.parse() 用来序列化和还原 javascript 对象。var o = {x:1, y:{z:[false,null,""]}};  // 定义对象var s = JSON.stringify(o);         // s是 "{"x":1,"y":{"z":[false,null,"...

2016-03-21 00:08:00 85

转载 r.js 配置文件 example.build.js 不完整注释

对这个r.js下的 build 配置文件作说明:/* * This is an example build file that demonstrates how to use the build system for * require.js. * * THIS BUILD FILE WILL NOT WORK. It is referencing paths...

2016-03-18 23:42:00 284

转载 function与感叹号

通常,我们调用一个方法的方式就是 FunctionName()但是,如果我们尝试为一个“定义函数”末尾加上(),解析器是无法理解的。function msg(){ alert('xxx');}();//解析器是无法理解的定义函数的调用方式应该是 msg() ; 那为什么将函数体部分用()包裹起来就可以了呢?原来,使用括号包裹定义函数体,解析器将会以函数表...

2016-03-11 09:35:00 92

转载 js中的|| 与 &&

a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b转换规则:对象为true非零数字为true非空字符串为true其他为false转载于:https://www.cnblogs.com/frontendBY/p...

2016-03-05 19:59:00 65

转载 类型判断

function isType(type){ return function(o){ return Object.prototype.toString.call(o) === '[object ' + type + ']'; }}var isString = isType("String");var isObject = isTy...

2016-03-04 11:38:00 71

转载 前端防御XSS

下面是前端过滤XSS的代码,取自于百度FEX前端团队的Ueditor在线编辑器:123456789101112131415function xssCheck(str,reg){return str ? str.replace(reg || /[&<">'](...

2016-03-04 10:45:00 76

转载 window.location.href/replace/reload()/页面跳转+替换+刷新

一、最外层top跳转页面,适合用于iframe框架集top.window.location.href("url");============================================================================================二、window.location.href和window.location.replac...

2016-03-02 19:24:00 216

转载 对数组排序进行"洗牌"(随机排序)

这段代码在这里使用Fisher Yates洗牌算法给一个指定的数组进行洗牌(随机排序)。function shuffle(arr) { var i, j, temp; for (i = arr.length - 1; i > 0; i--) { j = Math.floor(Math.random() *...

2016-03-02 10:27:00 95

转载 iframe跨域上传图片

方案一:用jquery的$.post异步提交,然后把返回来的值用jquery填充到隐藏域中。可是$.post不支持跨域。jQuery.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的。方案二:利用iframe以及jquery进行表单post提交。代码如下:== a.com/post.html ==<script>function pos...

2016-03-01 11:31:00 102

转载 Vim 新手节省时间的小技巧

1. 不关闭终端退出编辑器使用 Vim 编辑器保存并退出编辑状态是一件轻而易举的事,你只需记住按ESC键切换到正常模式,然后输入冒号(:),之后输入wq即可实现保存并退出。:wq如果不想保存,则按 ESC 键切换到正常模式,然后输入冒号(:),之后输入q!即可。:q!2. 删除一行或多行通过退格键(Backspace)来删除一行代...

2016-03-01 11:12:00 91

转载 前端工程师?!

糟糕的前端工程师:  1、JavaScript 类库乱用,对 JavaScript 本身并不了解,什么地方都用 jQuery;  2、滥用 JavaScript 插件,看都不看看就把别人的代码拿过来用,比如说;  3、不看需求,不做任何的比较和测试,就把CSS 框架加到项目中,但只用了其中 5% 的功能;  4、认为添加个 CSS Framework,网站就可以变成“响应式的”,或者...

2016-02-27 23:39:00 58

转载 http 中各个 header 的含义

HTTP Request的Header信息1、HTTP请求方式如下表:GET向Web服务器请求一个文件POST向Web服务器发送数据让Web服务器进行处理PUT向Web服务器发送数据并存储在Web服务器内部HEAD检查一个对象是否存在...

2016-02-26 09:59:00 208

转载 CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系

1、UTC:Universal Time Coordinated协调世界时,又称世界标准时间多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是Coordinated Universal Time- 世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为...

2016-02-25 09:15:00 328

转载 js之静态方法与实例方法

静态方法是指不需要声明类的实例就可以使用的方法。实例方法是指必须要先使用"new"关键字声明一个类的实例, 然后才可以通过此实例访问的方法。function staticClass() { }; //声明一个类staticClass.staticMethod = function() { alert("static method") };//创建一个静态方法stati...

2016-01-09 11:18:00 71

转载 什么是首字节时间(TTFB)

第一字节响应时间(TTFB)=从发送请求到WEB服务器的时间+WEB服务器处理请求并生成响应花费的时间+WEB服务器生成响应到浏览器花费的时间测量第一字节响应时间(TTFB)的工具:http://www.webpagetest.org/图片绿色部分为每个资源的第一字节响应时间(TTFB),建议最佳第一字节响应时间(TTFB)为500ms或500ms以下。如测量网站的第一字节响应时间(T...

2016-01-06 15:06:00 844

转载 什么是函数节流?

什么是函数节流?介绍前,先说下背景。在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在一个正常的操作中,都有可能在一个短的时间内触发非常多次事件绑定程序。而大家知道,DOM操作时很消耗性能的,这个时候,如果你为这些事件绑定一些操作DOM节点的操作的话,那就会引发大量的计算,...

2015-10-17 23:43:00 162

转载 生成不重复的随机数

0x00、从一个数组(arr)随机生成有(num)个不相同的值的数组function createRandom( num, arr ) { var arrCache = [], objCache = {}; while( arrCache.length < num ) { var randomNum = Mat...

2015-10-14 09:54:00 60

转载 js中sort()方法的用法,参数以及排序原理

sort() 方法用于对数组的元素进行排序。语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。注:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该...

2015-10-13 09:39:00 75

转载 return false;和e.preventDefault;和e.stopPropagation的区别

因为有父, 子节点同在, 因为有监听事件和浏览器默认动作之分. 使用 JavaScript 时为了达到预期效果经常需要阻止事件和动作执行. 一般我们会用到三种方法, 分别是 stopPropagation(), preventDefault() 和 return false. 它们之间有什么区别, 该何时使用呢? 将在本文中进行讲解.术语监听事件, 在在节点上能被监听的页面操作. 如: ...

2015-09-28 18:57:00 69

转载 实现跨域的方法

什么是跨域跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行。同源策略的目的,是防止黑客做一些做奸犯科的勾当。比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑...

2015-09-27 01:02:00 68

转载 jQuery的parent和parents和closest区别

1、parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。2、parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。3、closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。可以看出parent取的很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例...

2015-09-20 23:28:00 123

转载 JS中关于clientWidth offsetWidth scrollWidth 等的区别

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth(包括边线的宽);网页可见区域高: document.body.offsetHeight(包括边线的宽);网页正文全文宽: document.body.scrollWid...

2015-09-20 21:07:00 68

转载 grunt配置sass项目自动编译

1、安装Ruby和SASS首先我们需要在电脑上安装Ruby和SASS。如果您使用的是Mac,您就没必要安装Ruby。如果您使用的是Window系统,你需要安装Ruby。2、安装Nodejs由于使用Grunt需要Nodejs的支持,所以我们要确认自己的电脑已安装了nodejs。安装好以后看看在命令行下能不能执行node命令了,如果可以那么就表示安装成功了。简单点的安装就是直...

2015-09-20 14:23:00 104

转载 移动H5前端性能优化指南

移动H5前端性能优化指南概述1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点6. 基于第五点,要合理处理代码减少渲染...

2015-09-10 15:34:00 88

转载 理解https

https连接过程我们先来个简明概要的:超简版客户端(浏览器) -> 服务器(网站): hello服务器 , 加密算法a,b,c,hash算法d,e,f,ssl版本x.x服务器(网站) -> 客户端(浏览器):选择a加密算法 和ehahs算法,我的证书客户端 (浏览器)-> 服务器(网站):hash值hash1,消息message1,加密了的随...

2015-09-08 11:20:00 64

转载 HTTP响应报文与工作原理详解(转)

超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息。 HTTP 请求报文  HTTP 请求报文由请求行、请求头部、空行 和 请求包体 4 个部分组成,如下图所示:  下面对请求报文格式进行简单的分析...

2015-09-07 20:53:00 1754

转载 HTTP缓存技术,304和200有何区别

  为什么有的缓存是 200 OK (from cache),有的缓存是 304 Not Modified 呢?很简单,看运维是否移除了 Entity Tag。移除了,就总是 200 OK (from cache)。没有移除,就两者交替出现。  当浏览器第一次加载资源的时候,返回一般为200,意思是成功获取资源,并会在浏览器的缓存中记录下max-age,第二次访问的时候:如果只是用浏...

2015-09-01 19:47:00 181

转载 在浏览器地址栏按回车、F5、ctrl+F5刷新页面的区别

url地址栏里敲击enter:这样的刷新,大家可以在firebug里看一下,只有少数的请求会发送出去,而且几乎没有图片的请求,这是因为请求时会先检查本地是不是缓存了请求的图片,如果有缓存而且没有过期(过期可以通过该图片请求的header查看),他就不会发出这个图片request。f5:f5刷新比enter略慢,为什么呢,因为他还是把所有请求都发给了server,只是在request里...

2015-09-01 15:07:00 284

转载 js闭包

  在程序设计语言中,闭包(即词法闭包lexical closures或函数闭包function closures)是用一等函数(first class)实现词法作用域(lexically scoped)名称绑定(name binding)的一种技术。操作上说,一个闭包是一个用来存储一个函数及其环境的一条记录(record),这个环境会在闭包创建的时候,在函数的每个自由变量(free v...

2015-08-30 13:32:00 77

转载 事件冒泡和事件捕获

事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题。<div id="outer"> <p id="inner">Click me!</p></div>上面的代码当中一个div元素当中有一个p子元素,如果两个元素都有一个click的处理函数,那么我们怎么才能知道哪一...

2015-08-28 12:01:00 61

转载 ajax实现异步请求的过程

var xhr; xhr = new XMLHttpRequest(); //创建一个异步对象 xhr.open("Get", "test.ashx", true); //Get方式括号中的三个参数分别为:1.发送请求的方式 2.样请求的页面 3.是否异步//xhr.open("post","test.ashx",true);//xhr.setRequ...

2015-08-28 10:31:00 79

转载 GET和POST的区别,何时使用POST?

1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.Q...

2015-08-28 10:04:00 65

转载 函数有几种调用方式?

书上有说4中调用方式:方法调用模式函数调用模式构造器调用模式apply调用模式下面我们来看看一些实例更好理解。1:方法调用模式。请注意this此时指向myobject。/*方法调用模式*/ var myobject={ value:0, inc:function(){...

2015-08-27 17:08:00 1284

转载 substring、slice、substr的区别

首先定义一个变量便于下面测试:var str = "xx351223441";substring:str.substring(form,to):从字符串里截取下标为form到下标为to的字符串(不包括to对应的字符)alert(str.substring(2,6)) // 3512当form>to时,substring会把较小的参数作为第一参数 ale...

2015-08-27 11:31:00 47

空空如也

空空如也

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

TA关注的人

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