<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Alin_leeon的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Alin_leeon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Alin_leeon]]></copyright><item><title><![CDATA[css实现文字垂直居中且自动换行]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/68922065</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/68922065</guid><author>Alin_leeon</author><pubDate>Fri, 31 Mar 2017 10:01:31 +0800</pubDate><description><![CDATA[demo  
          
            .box {  
                width: 500px;  
                height: 300px;  
                border: 1px solid #FFF;  
                background-color: #999;  
            ]]></description><category></category></item><item><title><![CDATA[js继承实例]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/52670388</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/52670388</guid><author>Alin_leeon</author><pubDate>Mon, 26 Sep 2016 15:02:22 +0800</pubDate><description><![CDATA[1.js原型(prototype)实现继承
function Person(name, age){
  this.name = name;
  this.age = age;
}
//给它的原型直接添加属性或方法
Person.prototype.love = "alin";
Person.prototype.sayHello = function(){
  console.log]]></description><category></category></item><item><title><![CDATA[css绘图]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/52614292</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/52614292</guid><author>Alin_leeon</author><pubDate>Wed, 21 Sep 2016 22:38:35 +0800</pubDate><description><![CDATA[1.三角形
div {

width: 0;

height: 0;

border-top: 40px solid blue;

border-right: 40px solid red;

border-left: 40px solid red;

border-bottom: 40px solid blue;
}


div {
     width:0p]]></description><category></category></item><item><title><![CDATA[最简单易懂的闭包]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/52590951</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/52590951</guid><author>Alin_leeon</author><pubDate>Tue, 20 Sep 2016 00:40:41 +0800</pubDate><description><![CDATA[一、作用域
     js特有的作用域，内部函数可以访问外部函数的参数和变量，这个很美妙哦！
     但是有时我们需要验证一个变量或属性的类型时，他就会自动向上查找直到原型，如果有则返回，如果没有则返回undefined。typedef、for in循环都会出现该问题；hasOwnPrototype就可以很好的避免这个问题，如果对象独有这个属性，则返回true否则false。
     但]]></description><category></category></item><item><title><![CDATA[前端常用网站整合]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/52084378</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/52084378</guid><author>Alin_leeon</author><pubDate>Mon, 01 Aug 2016 11:49:58 +0800</pubDate><description><![CDATA[淘宝NPM镜像：https://npm.taobao.org/64位图片转换器 ：https://www.base64-image.de/bootstrap中文网：http://v3.bootcss.com/mooc web前端工程师学习计划：http://www.imooc.com/course/programdetail/pid/32浏览器差异比较：http://caniuse.com/我的个]]></description><category></category></item><item><title><![CDATA[JS调试技巧]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/52083356</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/52083356</guid><author>Alin_leeon</author><pubDate>Mon, 01 Aug 2016 11:39:50 +0800</pubDate><description><![CDATA[1.用console.log()代替了alert()
2.js断点调试
1>Sources断点：在代码中加入console.log()来进行验证
打开SOurece菜单，左侧找到相应文件，点击行列号，即断点设置完。




从左到右，各个图标的表示功能分别为：


Pause/Resume script execution：暂停/恢复脚本执行（程序执行到下一断点停止）Step]]></description><category></category></item><item><title><![CDATA[js回调函数(callback)]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51472536</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51472536</guid><author>Alin_leeon</author><pubDate>Sat, 21 May 2016 21:44:20 +0800</pubDate><description><![CDATA[回调函数真是让我懵逼啊，看了好久，感觉这篇文章简单易懂，特此转载。


学习jquery时，对回调函数感觉很困惑，在晚上找了半天，忽然发现这篇文章很浅显，基本说明了问题。故转载

原文：

自学jquery的时候，看到一英文词（Callback），顿时背部隐隐冒冷汗。迅速google之，发现原来中文翻译成回调。也就是回调函数了。不懂啊，于是在google回调函数，发现网上的中文解释实]]></description><category></category></item><item><title><![CDATA[jQuery源码解析(依赖与架构模块)笔记三------回调函数]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51459002</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51459002</guid><author>Alin_leeon</author><pubDate>Fri, 20 May 2016 09:27:38 +0800</pubDate><description><![CDATA[3-1理解回调函数
回调函数就是一个通过函指针调用的函数。如果你把函数的指针（地址）作为参数传递给另一个函数，当这个指针调用它所指向的函数时，我们就说这是个回调函数。]]></description><category></category></item><item><title><![CDATA[H5离线缓存总结]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51408116</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51408116</guid><author>Alin_leeon</author><pubDate>Sat, 14 May 2016 21:23:32 +0800</pubDate><description><![CDATA[看完慕课H5离线缓存的视频以及三天了，由于有事情一直耽误了，今天总结一下，希望对自己的前端学习能有所帮助。
首先关于存储有以下集中方式：1>cache：缓存为了让从DB/磁盘拿出来的东西放到缓存（放于内存）；2>磁盘文件：本地存储的视频，图片，计算机里面的文件；3>数据库：系统项目中的数据存储；4>内存：计算机中所有的程序运行都是在内存中，所以内存对计算机的影响很大。
HTML5缓存可以做到以]]></description><category></category></item><item><title><![CDATA[git命令大集合]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51356348</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51356348</guid><author>Alin_leeon</author><pubDate>Mon, 09 May 2016 21:21:35 +0800</pubDate><description><![CDATA[常用的git命令总结：
git add filename 把文件添加到仓库
git commit –m “注释” 把文件提交到仓库
git status 查看仓库当前状态
git diff filename 查看文件具体修改了什么内容
git log 查看历史记录
git log –pretty=oneline（简化）查看历史记录
git reset –hardHEAD^回退到上一个]]></description><category></category></item><item><title><![CDATA[百度一面总结]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348445</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348445</guid><author>Alin_leeon</author><pubDate>Sun, 08 May 2016 23:05:39 +0800</pubDate><description><![CDATA[昨天参加了百度店面，面试官人挺好，应该是一位年轻的攻城狮。首先依然是自我介绍，我就不废话了，直接说都问了什么：
由于我简历上写了Ajax,所以就直接以这个为切入点，我把知道的都说了，但是继续追问我底层是怎么实现的，呃呃没有了解过呀。git常用的指令和过程，我说出来了。还有单列布局，还好和我做的一个项目布局完全一样，我用的Bootstrap的栅格系统和百分比做的响应式布局。对，有一点，不敢给自己的]]></description><category></category></item><item><title><![CDATA[html复习重点]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348443</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348443</guid><author>Alin_leeon</author><pubDate>Sun, 08 May 2016 23:04:38 +0800</pubDate><description><![CDATA[html 要点
1. 文档类型 不是html标签，他只是告诉浏览器，html是用什么版本写的 HTML5 HTML 4.01 XHTML 1.0 
 
2. 熟悉一下web标准 什么是W3C W3C是英文 World Wide Web Consortium 的缩写，中文意思是W3C理事会或万维网联盟。W3C组织是对网络标准制定的一个非赢利组织，像HTML、XHTML、CSS、XML的标准就是]]></description><category></category></item><item><title><![CDATA[css复习重点]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348437</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348437</guid><author>Alin_leeon</author><pubDate>Sun, 08 May 2016 23:03:26 +0800</pubDate><description><![CDATA[css复习要点
 
1.float浮动塌陷
父元素只包含浮动元素，且父元素未设置高度和宽度的时候。那么它的高度就会塌缩为零
解决“塌陷”问题有以下三个方法
1.在使用float元素的父元素结束前加一个高为0宽为0且有clear:both样式的div

2.在使用float元素的父元素添加overflow:hidden;
3 .使用after伪对象清除浮动
详细可以看这个网址：ht]]></description><category></category></item><item><title><![CDATA[js复习重点]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348422</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51348422</guid><author>Alin_leeon</author><pubDate>Sun, 08 May 2016 23:00:41 +0800</pubDate><description><![CDATA[1.闭包的概念及其应用
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
 
2.原型链/继承，构造对象的方法
https://developer.mozilla.]]></description><category></category></item><item><title><![CDATA[JS数组常用方法总结]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51338325</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51338325</guid><author>Alin_leeon</author><pubDate>Sat, 07 May 2016 15:56:32 +0800</pubDate><description><![CDATA[1.检测数组的方法：Array.isArray()
这个方法的目的是最终确定某个值到底是不是数组，而不管它是在哪个全局执行环境中创建。
2.转换方法
toString():返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串
valueOf():返回的还是数组
toLocaleString():创建一个数组值的以逗号分开的字符串
join():使用不同的分隔符来构建这个字符串]]></description><category></category></item><item><title><![CDATA[CSS使用技巧]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51336304</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51336304</guid><author>Alin_leeon</author><pubDate>Sat, 07 May 2016 09:39:25 +0800</pubDate><description><![CDATA[最近，我开始升级网志了。

在修改模板的过程中，需要重写CSS样式表。正好看到instantshift.com有一篇CSS常用技巧的总结文章，我就把它整理出来，供自己参考，也希望对大家有用。

未来，本文将持续更新。



1. 文字的水平居中

将一段文字置于容器的水平中点，只要设置text-align属性即可：



　　text-align:center;

]]></description><category></category></item><item><title><![CDATA[js之创建对象]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51277233</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51277233</guid><author>Alin_leeon</author><pubDate>Thu, 28 Apr 2016 20:10:18 +0800</pubDate><description><![CDATA[创建对象：虽然Object构造函数或对象自面了都可以用来创建单个对象，但这些方式有个明显的缺点：使用同一个接口创建多个对象，会产生大量的重复代码。所以为了解决这个问题，如下：
1.工厂模式
抽象了具体创建对象的过程，即用函数来封装以特定接口创建对象的细节。
    eg:	function createPerson(name, age, job){
		var o = new Object(]]></description><category></category></item><item><title><![CDATA[jQuery源码解析(架构与依赖模块)笔记二--核心模块]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51251240</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51251240</guid><author>Alin_leeon</author><pubDate>Tue, 26 Apr 2016 16:02:37 +0800</pubDate><description><![CDATA[2.1对象的构建
面向对象的语言都有一个特点，他们都会有类的这一概念，通过类可以抽象出创建具体相同方法与属性的对象。
函数在充当构造器时，原型prototype是一个重要的概念。prototype是构造函数的一个属性，该属性指向一个对象。而这个对象将作为该构造函数所创建的所有实例的基引用，可以把对象基引用想象成一个自动创建的隐藏属性。当访问对象的一个属性时，首先查找对象本身，找到则返回；若不则]]></description><category></category></item><item><title><![CDATA[jQuery源码解析(架构与依赖模块)笔记一]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51245687</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51245687</guid><author>Alin_leeon</author><pubDate>Mon, 25 Apr 2016 21:42:22 +0800</pubDate><description><![CDATA[1.3设计模块
简洁的API、优雅的链式、强大的选择器、便捷的操作


1.4整体架构
五大块：选择器、DOM操作、事件、AJAX、动画
业务层的门面接口：.ajaxComplete()、.ajaxError()、.ajaxSend()、ajaxStart()、.ajaxStop()、.ajaxSuccess()
底层接口：jQuery.ajax()、jQuery.ajaxSetup]]></description><category></category></item><item><title><![CDATA[JavaScript代码性能优化总结]]></title><link>https://blog.youkuaiyun.com/Alin_leeon/article/details/51244597</link><guid>https://blog.youkuaiyun.com/Alin_leeon/article/details/51244597</guid><author>Alin_leeon</author><pubDate>Mon, 25 Apr 2016 19:10:15 +0800</pubDate><description><![CDATA[以下代码基本在jQuery的源码里面都可以看得到，如有说的不对的地方，请大家指出。
1.尽量使用源生方法
javaScript是解释性语言， 相比编译性语言执行速度要慢。浏览器已经实现的方法，就不要再去实现一遍了。另外，浏览器已经实现的方法在算法方面已经做了很多优化。
2.避免全局查找
在一个函数中会用到全局对象存储为局部变量来减少全局查找，因为访问局部变量的速度要比访问全局变量的速度要快]]></description><category></category></item></channel></rss>