<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[L_YNAN的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/L_YNAN</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; L_YNAN]]></copyright><item><title><![CDATA[arguments.callee]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78925670</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78925670</guid><author>L_YNAN</author><pubDate>Thu, 28 Dec 2017 19:45:48 +0800</pubDate><description><![CDATA[在递归时，都是在一定条件下调用函数自身
但这样蹲在一个问题，当函数名称被重新赋值，递归内部就调用不到这个函数，会报错；function fbi(n) {
        if（n<=1） {
            return 1;
        }else {
            return n * fbi(n-1);
        }
}
fbi(4) //24注意： 
var ne]]></description><category></category></item><item><title><![CDATA[函数节流和函数防抖]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78914879</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78914879</guid><author>L_YNAN</author><pubDate>Wed, 27 Dec 2017 17:54:06 +0800</pubDate><description><![CDATA[var count = 0;
function scroll(delay, fn) {
    var oldTime = new Date();
    var self = this;
    var timer = "";
    return function() {
        var currentTime = new Date();
        if(currentTime -]]></description><category></category></item><item><title><![CDATA[nodejs表单提交（上传图片）]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78777383</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78777383</guid><author>L_YNAN</author><pubDate>Mon, 11 Dec 2017 22:12:50 +0800</pubDate><description><![CDATA[nodejs使用form提交表单，上传图片const http = require("http");
const util = require("util"); //nodejs一些工具
const path = require("path");
const port = require("port");
npm install formidable --save-dev  //上传图片可以使用第三]]></description><category></category></item><item><title><![CDATA[node socket 简单聊天室]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78754661</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78754661</guid><author>L_YNAN</author><pubDate>Fri, 08 Dec 2017 18:53:04 +0800</pubDate><description><![CDATA[一、服务端socket服务端接受来自客户端的write内容（也可以理解成请求报文）；然后广播给先有连接的所有客户端用户clientconst net = require("net");
const clients = [];
const port = 9999;
var client = net.createServer(socket=> {
    console.log(`server ${so]]></description><category></category></item><item><title><![CDATA[node 监听md文件变化并转换成html]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78739324</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78739324</guid><author>L_YNAN</author><pubDate>Thu, 07 Dec 2017 11:22:16 +0800</pubDate><description><![CDATA[监听md文件是否变化，变化了就读取md文件，并使用库转换成HTML；
监听： fs.watchFile（filename, (cur ,pre) =< {}）
读取： fs.readFile;
监听是否变化： cur.mtime / pre.mtime; //cur 和 pre 都是fs.Stats的实例；都有stats属性；
转换： 使用marked库，安装 install marked –sav]]></description><category></category></item><item><title><![CDATA[webpack打包编译学习记录]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78721863</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78721863</guid><author>L_YNAN</author><pubDate>Tue, 05 Dec 2017 16:32:21 +0800</pubDate><description><![CDATA[首先是webpack的安装，全局安装或者本地安装，建议项目本地安装；npm install webpack -g //全局安装
npm install webpack --save-dev //本地安装
配置文件
根目录创建文件webpack.config.js
配置入口、出口、插件等配置项，配置package.json文件scripts项目，简单配置
module.exports = {]]></description><category></category></item><item><title><![CDATA[var和let定义变量在循环中的不同]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/78521306</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/78521306</guid><author>L_YNAN</author><pubDate>Mon, 13 Nov 2017 16:02:03 +0800</pubDate><description><![CDATA[var arr = [];
for(var i=0; i<10; i++) {
    arr[i] = function () {
    console.log(i); 
}   
}
console.log(arr[5]())   //10输出结果为10；就是作用域的问题。使用var 定义变量的时候，在整个循环中是全局的，每一次的循环实际上是为i赋值，循环一次赋值一次，10次循环完成，i最后的]]></description><category></category></item><item><title><![CDATA[jQuery判断页面滚动方向]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/77314383</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/77314383</guid><author>L_YNAN</author><pubDate>Thu, 17 Aug 2017 10:49:03 +0800</pubDate><description><![CDATA[在页面滚动进行异步加载的需求中，可用到判断页面滚动方向，判断是否进行页面请求 $(document).ready(function(){
        $(window).on("scroll",function(){
            //记录开始滚动位置
            var before=$(this).scrollTop();
            $(window).o]]></description><category></category></item><item><title><![CDATA[异步上传文件]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/77249322</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/77249322</guid><author>L_YNAN</author><pubDate>Wed, 16 Aug 2017 16:13:15 +0800</pubDate><description><![CDATA[异步上传文件
关于文件上传，之前接触不多。现在有需求，看教程简单些一个。再去测试能否使用。
HTML的新属性，上传文件使用formData对象，所以要新建这个对象，然后将file chang后的文件信息添加到对象中。使用ajax请求上传。var formData=new FormData();
var upLoadInp=document.getElementById("upLoad");
upLo]]></description><category></category></item><item><title><![CDATA[react脚手架工具使用]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/76171711</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/76171711</guid><author>L_YNAN</author><pubDate>Thu, 27 Jul 2017 10:05:49 +0800</pubDate><description><![CDATA[YeoMan react-weback 脚手架工具使用步骤
全局安装yoman和脚手架工具cnpm install -g yocnpm install -g generator-react-webpack使用yo运行脚手架工具yo react-webpack$ yo react-webpack
显示如下代码，脚手架生成配置文件： _-----_
|       |
|--(o)--|   .----]]></description><category></category></item><item><title><![CDATA[基础知识笔记小记]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/74503330</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/74503330</guid><author>L_YNAN</author><pubDate>Wed, 05 Jul 2017 22:14:04 +0800</pubDate><description><![CDATA[url地址的构成：
简单了解部分内容：query是地址中？开始的部分，比如http://domain.com/?search=a#hash;中，就是地址中的search字段。
queryStrng.parse（window.location.search）,是node下发啊，表示将获取到的url中的字段转换成对象，但是它不继承js中的对象的方法。
http://local.haitou.cc:300]]></description><category></category></item><item><title><![CDATA[关于学习过程中小知识点的总结与归纳]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/74352038</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/74352038</guid><author>L_YNAN</author><pubDate>Tue, 04 Jul 2017 18:43:57 +0800</pubDate><description><![CDATA[总结一下在学习过程中汇总的小知识点，加强记忆：
.toFixed(num);这个方法，是js原生方法，主要作用是四舍五入一个number，预留num个小数位。
        var a=3.1415926;
        var b=a.toFixed(3);
        console.log(b);输出3.142
user-select:none/text/all/element的css]]></description><category></category></item><item><title><![CDATA[事件冒泡原理自我理解以及使用]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/73692012</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/73692012</guid><author>L_YNAN</author><pubDate>Sat, 24 Jun 2017 15:00:30 +0800</pubDate><description><![CDATA[首先，这是我自己在学习过程中对于时间冒泡原理的理解，如果有不对的地方，读者尽可提出，不断学习。
1.事件冒泡，就是元素自身的事件被触发后，如果父元素有相同的事件，如onclick事件，那么元素本身的触发状态就会传递，也就是冒到父元素，父元素的相同事件也会一级一级根据嵌套关系向外触发，直到document/window，冒泡过程结束。
2.比如：







document.]]></description><category></category></item><item><title><![CDATA[git版本控制工具常用指令以及github]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/73612246</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/73612246</guid><author>L_YNAN</author><pubDate>Thu, 22 Jun 2017 23:57:36 +0800</pubDate><description><![CDATA[关于注册github账号，创建新的项目就不说了。
1.首先了解一个关于版本控制的概念。版本控制工具svn和git。SVN是集中式管理，大概的原理就是在协同开发过程中，每个编写者都要将项目代码上传到集中管理服务器中，供别的编写者进行下载然后继续上传到这个集中服务器中。但这存在很多问题，比如下载速度受到网速和下载量的制约。如果集中服务器出现故障，会导致数据丢失的风险。
而git是分布式管理，就很好]]></description><category></category></item><item><title><![CDATA[浏览器的标准模式和怪异模式以及他们的区别]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/73457451</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/73457451</guid><author>L_YNAN</author><pubDate>Mon, 19 Jun 2017 10:20:57 +0800</pubDate><description><![CDATA[要想写出跨浏览器的CSS，就是各种浏览器都兼容的css代码，必须知道浏览器解析CSS的两种模式：标准模式(strict mode)和怪异模式(quirks mode)。

所谓的标准模式是指：浏览器按W3C标准解析执行代码；怪异模式则是使用浏览器自己的方式解析执行代码，因为不同浏览器解析执行的方式不一样，所以我们称之为怪异模式。浏览器解析时到底使用标准模式还是怪异模式，与你网页中的DTD声明直]]></description><category></category></item><item><title><![CDATA[如何使用browsersync工具实现页面的多浏览器和移动端设备的调试]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/73176388</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/73176388</guid><author>L_YNAN</author><pubDate>Tue, 13 Jun 2017 14:04:35 +0800</pubDate><description><![CDATA[一、首先附上官方网站供下载，下载和安装教程官网有详解，请自行参考：http://www.browsersync.cn/
注意：1.在命令行工具中安装（windows系统下，mac系统好像不会出现问题），如果安装不成功，出现Error报错，请参考
“nodejs安装任何模块失败问题-error Windows_NT 6.1.7601”解决程：http://blog.youkuaiyun.com/u01347]]></description><category></category></item><item><title><![CDATA[几种网页上实现返回上一页的方法]]></title><link>https://blog.youkuaiyun.com/L_YNAN/article/details/73124120</link><guid>https://blog.youkuaiyun.com/L_YNAN/article/details/73124120</guid><author>L_YNAN</author><pubDate>Mon, 12 Jun 2017 16:55:27 +0800</pubDate><description><![CDATA[几种网页上实现返回上一页的方法]]></description><category></category></item></channel></rss>