<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/diaofu2010</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; diaofu2010]]></copyright><item><title><![CDATA[也谈Promise]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032868</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032868</guid><author>diaofu2010</author><pubDate>Tue, 14 Apr 2015 16:47:00 +0800</pubDate><description><![CDATA[最新的ES6标准添加有Promise方法，但自己在项目中一直使用jQuery(jQuery自己实现了不标准的Promise)，加上es6标准还没有得到普及，也就懒得学习相关资料。
最近手头上的活少了，本着好好学习，天天向上的宗旨，便查了些资料，学习下Promise。
我们都知道js是单线程的，意味着在同一时间段，浏览器只能解析一段脚本。这很让人抓狂啊。想想你自己，同一时间只能吃零食或...]]></description><category></category></item><item><title><![CDATA[js 判断鼠标滚轮方向]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032865</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032865</guid><author>diaofu2010</author><pubDate>Fri, 06 Mar 2015 15:58:00 +0800</pubDate><description><![CDATA[最近因为公司项目的要求，需要做页面的全屏滚动切换效果。
页面的切换，需要脚本监听鼠标滑轮的滚动事件，来判断页面是向上切换or向下切换.
这里的脚本很简单，我就直接贴出来吧。

 1 $('html').on('mousewheel DOMMouseScroll', function (e) {
 2                 e.preventDefault();
 3...]]></description><category></category></item><item><title><![CDATA[移动端页面调试神器-browser-sync]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032869</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032869</guid><author>diaofu2010</author><pubDate>Wed, 07 Jan 2015 14:21:00 +0800</pubDate><description><![CDATA[最近公司赶一个项目，是mobile端，之前没怎么做过移动端的开发，这个项目算是个小尝试。
在做项目的过程中，用到了一个神器--browser-sync，在这里分享给大家。
1、静态页面调试
作为前端，肯定是要保证页面的兼容性的。
通常的测试场景是，前端人员人手N部测试机，改下页面，依次手动刷新各个手机，真的非常蛋疼，这些重复性的工作，不应该由人来完成，而应该由机器来自动完成，这时...]]></description><category></category></item><item><title><![CDATA[自己用WordPress搭了个站点]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032863</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032863</guid><author>diaofu2010</author><pubDate>Tue, 23 Dec 2014 11:24:00 +0800</pubDate><description><![CDATA[这周买了台阿里云，用wordpress搭了个自己的站点，折腾了几天。
网站的网址是http://www.smarteyeball.com/，取名慧眼网，宗旨是让大家发现新世界。


转载于:https://www.cnblogs.com/kbqncf/p/4179731.html...]]></description><category></category></item><item><title><![CDATA[js中的换算小技巧]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032861</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032861</guid><author>diaofu2010</author><pubDate>Wed, 10 Dec 2014 15:04:00 +0800</pubDate><description><![CDATA[之前自己一直使用~~运算符来把‘112222’字符型的数值换算成整型的数值
但今天调试程序发现了一些问题
~~'999'=》999
~~'111111999'=》111111999
这些都是正常的
但
~~'1111119998888000'=》-925489088
就不正常了

所以大数值的换算还是使用‘+’运算符吧
+'1111119998888000'=》1...]]></description><category></category></item><item><title><![CDATA[ktouch移动端事件库]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032859</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032859</guid><author>diaofu2010</author><pubDate>Mon, 21 Jul 2014 16:58:00 +0800</pubDate><description><![CDATA[最近闲来无事，写了个移动端的事件库，代码贴在下面，大家勿拍。

  1 /**
  2  @version 1.0.0
  3  @author gangli
  4  @deprecated 移动端触摸事件库
  5  */
  6 (function () {
  7     "use strict";
  8     var util = {
  9      ...]]></description><category></category></item><item><title><![CDATA[使用jasmine来对js进行单元测试]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032866</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032866</guid><author>diaofu2010</author><pubDate>Wed, 18 Jun 2014 18:27:00 +0800</pubDate><description><![CDATA[互联网的快速发展，给web开发人员带来了前所未有的挑战。对于前端开发，前端开发er所需要编写的js早已不是那些寥寥几行的视觉效果代码。代码量的大增，多人协同，人员素质悬殊不齐，这都需要一个标准，来对代码的规范性进行控制。Jasmine作为一个前端团队使用的测试框架，便运应而生。
1、jasmine简介
jasmine是一个用来编写Javascript测试的框架，它不依赖于任何其它的j...]]></description><category></category></item><item><title><![CDATA[caller和callee]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032854</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032854</guid><author>diaofu2010</author><pubDate>Fri, 13 Jun 2014 15:49:00 +0800</pubDate><description><![CDATA[我们先来看下caller.
caller:返回一个对函数(该函数调用了当前函数)的引用。
functionName.caller:functionName对象是所执行函数的名称。
说明
对于函数来说，caller 属性只有在函数执行时才有定义。如果函数是由顶层调用的，那么 caller 包含的就是 null 。如果在字符串上下文中使用 caller 属性，那么结果和 functi...]]></description><category></category></item><item><title><![CDATA[正则中的lastIndex属性]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032852</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032852</guid><author>diaofu2010</author><pubDate>Sat, 07 Jun 2014 14:05:00 +0800</pubDate><description><![CDATA[首先大家看下下面的代码

var reg = /\d/;
console.log( reg.test("1") );
console.log( reg.test("1") );

输出都是true。
好的，接下来我们看这段代码

var reg = /\d/g;
console.log( reg.test("1") );
console.log( reg.test(...]]></description><category></category></item><item><title><![CDATA[改进的模板替换]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032853</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032853</guid><author>diaofu2010</author><pubDate>Sat, 07 Jun 2014 13:36:00 +0800</pubDate><description><![CDATA[之前美丽湾项目是用赢家写的替换方法，替换数据时，无法深度遍历，这里修改一下
方法：

 1 function tempExt(h, data) {
 2                 return h.replace(/\{(.*?)\}/g, function (str, m) {
 3                     var arrM = m.split('.')...]]></description><category></category></item><item><title><![CDATA[如何更高效率的生成随机数组]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032918</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032918</guid><author>diaofu2010</author><pubDate>Fri, 30 May 2014 14:48:00 +0800</pubDate><description><![CDATA[现在我们有一个需求：生成长度为100的随机数组（数值范围0~99），数值无重复。
通常方法：

var _len = 100, _arrUsedFlag = [],_arrR=[];
            for(var i=0;i&lt;_len;i++){//初始化标志位数组，表示第N个数组是否已经被生成过
                _arrUsedFlag.pus...]]></description><category></category></item><item><title><![CDATA[使用node.js制作简易爬虫]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032919</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032919</guid><author>diaofu2010</author><pubDate>Tue, 27 May 2014 12:50:00 +0800</pubDate><description><![CDATA[最近看了些node.js方面的知识，就像拿它来做些什么。因为自己喜欢摄影，经常上蜂鸟网，所以寻思了一下，干脆做个简单的爬虫来扒论坛的帖子。
直接上代码吧。

 1 var sys = require("sys"),
 2     http = require("http"),
 3     fs = require("fs");
 4 var url = "http://ne...]]></description><category></category></item><item><title><![CDATA[javascript正则——贪婪匹配]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032916</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032916</guid><author>diaofu2010</author><pubDate>Sat, 24 May 2014 15:21:00 +0800</pubDate><description><![CDATA[熟悉正则的朋友都知道，正则的匹配有“贪婪”和“非贪婪”之分。
“贪婪”匹配是尽可能多的匹配：
对于字符串‘aaaa’,
/a+/匹配整个字符串，而非贪婪匹配/a+?/匹配的是整个字符串的第一个‘a’，因为贪婪匹配是尽可能少的匹配。
——————————————
使用非贪婪匹配还有一些需要注意的地方。
考虑下面这个正则表达式：/a+b/，它匹配一个或多个a，以及一个b。
使用...]]></description><category></category></item><item><title><![CDATA[利用sourcemap来调试sass]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032917</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032917</guid><author>diaofu2010</author><pubDate>Wed, 21 May 2014 11:00:00 +0800</pubDate><description><![CDATA[最近项目用上了sass,作为css的预处理器，它可以让我们用程序化的思维书写样式，极大的简化了css的开发，实在是前端居家旅行必备的利器。
我们都知道，在项目中，样式的频繁调试是不可避免的，用上sass虽说coding代码量减少，但调试过程着实让人崩溃。
看一段sass代码：

嵌套书写的结构在sass中经常会被用到。
编译之后的样式是这样的：

在开发工具上我们看到的是编...]]></description><category></category></item><item><title><![CDATA[javascript回调金字塔]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032914</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032914</guid><author>diaofu2010</author><pubDate>Mon, 19 May 2014 17:43:00 +0800</pubDate><description><![CDATA[mark先

转载于:https://www.cnblogs.com/kbqncf/p/3737319.html]]></description><category></category></item><item><title><![CDATA[我们应该如何对待技术信仰？(转载)]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032915</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032915</guid><author>diaofu2010</author><pubDate>Mon, 19 May 2014 14:38:00 +0800</pubDate><description><![CDATA[原文出处：http://jackiekuo.com/think/2014/05/11/about-programmers-glory/
当你发现自己有了技术信仰时，不要尝试去磨灭它，而是去利用它！利用它带给自己的动力！
程序员的荣耀

编程语言战争：认为自己所用的语言是最好的。
编辑器的圣战：Vim和Emacs党派不断向对方发起攻击。
操作系统之乱：Windows、Linux...]]></description><category></category></item><item><title><![CDATA[Javascript命名规范]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032913</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032913</guid><author>diaofu2010</author><pubDate>Thu, 15 May 2014 11:43:00 +0800</pubDate><description><![CDATA[整理下，参考了许多库，谢谢那些无私奉献的大牛，愿上帝保佑你们。
1、构造器采用驼峰式命名，并且首字母大写。如：

function DialogManager ( config ) {
    statement;
}

2、枚举类型变量采用驼峰式命名，并且首字母大写。属性名单词全部大写，单词间以下划线分隔。如：

var QueueError = {
    QUE...]]></description><category></category></item><item><title><![CDATA[jquery源码分析-工具函数]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032912</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032912</guid><author>diaofu2010</author><pubDate>Thu, 15 May 2014 10:46:00 +0800</pubDate><description><![CDATA[jQuery的版本一路狂飙啊，现在都到了2.0.X版本了。有空的时候，看看jquery的源码，学习一下别人的编程思路还是不错的。
下面这里是一些jquery的工具函数代码，大家可以看看，实现思路还是很清晰的。

 1     // 是否函数
 2     isFunction: function( obj ) {
 3        return jQuery.type(obj...]]></description><category></category></item><item><title><![CDATA[Grunt之项目脚手架]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032910</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032910</guid><author>diaofu2010</author><pubDate>Tue, 13 May 2014 14:14:00 +0800</pubDate><description><![CDATA[在网上搜了下，grunt这方面的教程挺少的，来去都是一些被频繁转载的文章。唉，人艰不拆啊。
首先我们在全局环境中安装grunt-init。

npm install -g grunt-init

来看看官方的文档，举几个例子，看看grunt-init是如何使用的：
1、使用grunt-init--help来获取程序帮助以及列出可用模板清单
2、使用grunt-initT...]]></description><category></category></item><item><title><![CDATA[font-family属性与字体对齐]]></title><link>https://blog.youkuaiyun.com/diaofu2010/article/details/102032911</link><guid>https://blog.youkuaiyun.com/diaofu2010/article/details/102032911</guid><author>diaofu2010</author><pubDate>Thu, 08 May 2014 15:40:00 +0800</pubDate><description><![CDATA[css中的font-family属性可以让我们自定义字体。在页面前端，宋体已经明日黄花，号称最贵中文字体的微软雅黑大行其道。英文字体万年不变，依然还是"arial","verdana","sans serif"这些字体。
在做项目期间，碰到一个问题。看下面的截图。




箭头标记的地方需要对齐。这里就带来一个问题了，这里的标题，有的是两个字，有的是三个字，有的是四个字，...]]></description><category></category></item></channel></rss>