<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tylls的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tylls</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tylls]]></copyright><item><title><![CDATA[制作属于自己的脚手架(史上最细)]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/108415712</link><guid>https://blog.youkuaiyun.com/tylls/article/details/108415712</guid><author>tylls</author><pubDate>Sat, 05 Sep 2020 10:11:15 +0800</pubDate><description><![CDATA[制作属于自己的脚手架
不是cli的脚手架。如果有过兴趣。自己可以使用node.js 中, ？？？？.js 自己写
gennerator 的脚手架方式
yo命令
官网地址：https://yeoman.io/yo
yeoman 制作脚手架命令
安装
npm install -g yo
yo  命令的作用是制作脚手架命令
yo --version 查看版本号

制作脚手架
*generater-generator 可以制作脚手架工具
npm install -g generator-generator

生成脚]]></description><category></category></item><item><title><![CDATA[如何用Object.defineProperty()做数据劫持]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107675361</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107675361</guid><author>tylls</author><pubDate>Wed, 29 Jul 2020 21:11:25 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;script&gt]]></description><category></category></item><item><title><![CDATA[程序员必须了解的网络基础知识的(下)]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107400124</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107400124</guid><author>tylls</author><pubDate>Fri, 17 Jul 2020 08:56:02 +0800</pubDate><description><![CDATA[67）直通电缆的标准颜色顺序是什么？
橙色/白色，橙色，绿色/白色，蓝色，蓝色/白色，绿色，棕色/白色，棕色。
68）什么协议落在 TCP/IP 协议栈的应用层之下？
以下是 TCP/IP 应用层协议：FTP，TFTP，Telnet 和 SMTP。
69）您需要连接两台电脑进行文件共享。是否可以这样做，而不使用集线器或路由器？
是的，您可以使用一根电缆将两台计算机连接在一起。在这种情况下可以使用交叉型电缆。在这种设置中，一条电缆的数据传输引脚连接到另一条电缆的数据接收引脚，反之亦然。
70）什么是 ipco]]></description><category></category></item><item><title><![CDATA[程序员必须了解的网络基础知识点(中)]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107400091</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107400091</guid><author>tylls</author><pubDate>Fri, 17 Jul 2020 08:53:49 +0800</pubDate><description><![CDATA[34）在 OSI 参考模型方面，TCP/IP 应用层的等同层或多层是什么？
TCP/IP 应用层实际上在 OSI 模型上具有三个对等体：会话层，表示层和应用层。
35）如何识别给定 IP 地址的 IP 类？
通过查看任何给定 IP 地址的第一个八位字节，您可以识别它是 A 类，B 类还是 C类。如果第一个八位字节以 0 位开头，则该地址为 Class A.如果以位 10 开头，则该地址为 B 类地址。如果从 110 开始，那么它是 C 类网络。
36）OSPF 的主要目的是什么？
OSPF 或开放最短路径优]]></description><category></category></item><item><title><![CDATA[程序员必须了解的网络基础知识点(上)]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107396273</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107396273</guid><author>tylls</author><pubDate>Thu, 16 Jul 2020 22:43:23 +0800</pubDate><description><![CDATA[1）什么是链接？
链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。
2）OSI 参考模型的层次是什么？
有 7 个 OSI 层：物理层，数据链路层，网络层，传输层，会话层，表示层和应用层。
3）什么是骨干网？
骨干网络是集中的基础设施，旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。
4）什么是 LAN？
LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。
5）什么是节点？
节点是指连接发生的点。它可以是作为网络一部分的计算机]]></description><category></category></item><item><title><![CDATA[常见js中的正则表达式]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107394741</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107394741</guid><author>tylls</author><pubDate>Thu, 16 Jul 2020 22:12:15 +0800</pubDate><description><![CDATA[一、校验数字的表达式
1. 数字：^[0-9]*$

2. n位的数字：^\d{n}$

3. 至少n位的数字：^\d{n,}$

4. m-n位的数字：^\d{m,n}$

5. 零和非零开头的数字：^(0|[1-9][0-9]*)$

6. 非零开头的最多带两位小数的数字：^([1-9][0-9]*)+(.[0-9]{1,2})?$

7. 带1-2位小数的正数或负数：^(\-)?\d+(\.\d{1,2})?$

8. 正数、负数、和小数：^(\-|\+)?\d+(\.\d+)?$

9. 有两位小数]]></description><category></category></item><item><title><![CDATA[js简单的轮播图的写法]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107239873</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107239873</guid><author>tylls</author><pubDate>Thu, 09 Jul 2020 23:02:35 +0800</pubDate><description><![CDATA[代码
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta charset="UTF-8" /&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /&gt;
    &lt;title&gt;Document&lt;/title&gt;
    &lt;style&gt;
      * {
       ]]></description><category></category></item><item><title><![CDATA[js的垃圾回收机制以及内存泄漏的情况及解决方法]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107189802</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107189802</guid><author>tylls</author><pubDate>Tue, 07 Jul 2020 20:34:15 +0800</pubDate><description><![CDATA[JS的垃圾回收机制。
Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。
JS中最常见的垃圾回收方式是标记清除。
工作原理：是当变量进入环境时，将这个变量标记为“进入环境”。当变量离开环境时，则将其标记为“离开环境”。标记“离开环境”的就回收内存。
工作流程：


垃圾回收器，在运行的时候会给存储在内存中的所有变量都加上标记。


去掉环境中的变量以及被环境中的变量引用的变量的标记。


再被加上标记的会被视为准备删除的变量。


垃圾回收器完成内存清除工作，销毁那些带标记的值并回收他们]]></description><category></category></item><item><title><![CDATA[css有哪些新特性]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107189607</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107189607</guid><author>tylls</author><pubDate>Tue, 07 Jul 2020 20:24:53 +0800</pubDate><description><![CDATA[一、选择器：
E:nth-child(n) 选择器匹配其父元素的第n个子元素，不论元素类型，n可以使数字，关键字，或公式
E:nth-of-type(n) 选择与之其匹配的父元素的第N个子元素
E:frist-child 相对于父级做参考，“所有”子元素的第一个子元素，并且“位置”要对应
E：frist-of-type 相对于父级做参考，“特定类型”（E）的第一个子元素
E：empty 选择没有子元素的每个E元素
E:target 选择当前活动的E元素
::selection 选择被用户选取的元素部分
属性]]></description><category></category></item><item><title><![CDATA[js的作用域（scope）深入了解]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107170660</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107170660</guid><author>tylls</author><pubDate>Mon, 06 Jul 2020 23:28:16 +0800</pubDate><description><![CDATA[一、什么是作用域（Scope）
[[scope]]:每个javascript函数都是一个对象，对象中有些属性我们可以访问，但有些不可以，这些属性仅供javascript引擎存取，[[scope]]就是其中一个。[[scope]]指的就是我们所说的作用域,其中存储了运行期上下文的集合。即作用域决定了代码区块中变量和其他资源的可见性。
二、变量的作用域类型
1.全局作用域：全局作用域贯穿整个javascript文档，在所有函数声明或者大括号之外定义的变量，都在全局作用域里。一旦你声明了一个全局变量，那么你在任何]]></description><category></category></item><item><title><![CDATA[解决Html5标签兼容性问题的4种方法]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107167138</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107167138</guid><author>tylls</author><pubDate>Mon, 06 Jul 2020 20:37:04 +0800</pubDate><description><![CDATA[前言
相信大家在开发的时候遇见了ie浏览器不兼容html5标签的问题，在此笔者为大家整理了4种比较常用的方法，便于大家使用，如果有什么不对希望大家及时指出。
方法一
通过meta标签改变浏览器内核做兼容

方法二
用CSS hack技术解决浏览器兼容性问题
什么是CSS Hack？
不同的浏览器对CSS的解析结果是不同的，因此会导致相同的CSS输出的页面效果不同，这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程，就叫CSS Hack
CSS Hack 形]]></description><category></category></item><item><title><![CDATA[js中关于arguments的深入理解]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107113028</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107113028</guid><author>tylls</author><pubDate>Fri, 03 Jul 2020 19:32:48 +0800</pubDate><description><![CDATA[了解arguments这个对象之前先来认识一下javascript的一些功能：
其实Javascript并没有重载函数的功能，但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments，它引用着函数的实参，可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数，arguments.callee引用函数自身。
arguments他的特性和使用方法
特性：
1.arguments对象和Functio]]></description><category></category></item><item><title><![CDATA[一步了解js中GO和AO的产生过程]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107093375</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107093375</guid><author>tylls</author><pubDate>Thu, 02 Jul 2020 21:20:33 +0800</pubDate><description><![CDATA[对于js来说，首先会有一个预编译期的过程，那么在预编译过程中会发生什么？
预编译：函数预编译AO，全局预编译GO
AO
预编译是发生在函数执行的前一刻。
(函数)预编译分四个步骤：
function test(a,b){
console.log(a);
var c = 123;
console.log©;
function a(){};//这个是函数声明
console.log(b);
var b = function c(){};//这个是函数表达式
console.log(b);
}
test(1,3)]]></description><category></category></item><item><title><![CDATA[Js关于作用域、作用域链和闭包的理解]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107092969</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107092969</guid><author>tylls</author><pubDate>Thu, 02 Jul 2020 21:12:46 +0800</pubDate><description><![CDATA[作用域
先来谈谈变量的作用域
变量的作用域无非就是两种：全局变量和局部变量。
全局作用域：
最外层函数定义的变量拥有全局作用域，即对任何内部函数来说，都是可以访问的：

局部作用域：
和全局作用域相反，局部作用域一般只在固定的代码片段内可访问到，而对于函数外部是无法访问的，最常见的例如函数内部

作用域总结
1: 一个作用域下可以有多个子作用域
2：相邻的子域之间不可以相互访问；父域不可以访问子域的内容
3：子域可以访问父域的变量
作用域链（Scope Chain）
那什么是作用域链？
我的理解就是，根据在]]></description><category></category></item><item><title><![CDATA[数组排序常见的7种方法]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107028151</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107028151</guid><author>tylls</author><pubDate>Mon, 29 Jun 2020 20:43:56 +0800</pubDate><description><![CDATA[数组排序
1、桶排序（桶中出现的数组元素都做个标记1，然后将桶数组中有1标记的元素依次打印）
//简单, 但是不用,浪费内存
var arr2=[];
for(var i=0;i&lt;arr.length;i++){
var key=arr[i];
arr2[key]=1;
}
for(var j in arr2){
console.log(j);
}
2、冒泡排序（每一趟找出最大的）
for(var i =0,len= arr.length;i&lt;len;i++){
// arr[i] // 前面的]]></description><category></category></item><item><title><![CDATA[数组去重的8种常见方法]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/107027466</link><guid>https://blog.youkuaiyun.com/tylls/article/details/107027466</guid><author>tylls</author><pubDate>Mon, 29 Jun 2020 20:07:48 +0800</pubDate><description><![CDATA[数组去重的方法
一、利用ES6 Set去重（ES6中最常用）

不考虑兼容性，这种去重的方法代码最少。这种方法还无法去掉“{}”空对象，后面的高阶方法会添加去掉重复“{}”的方法。
二、利用for嵌套for，然后splice去重（ES5中最常用）

双层循环，外层循环元素，内层循环时比较值。值相同时，则删去这个值。
三、利用indexOf去重

新建一个空的结果数组，for 循环原数组，判断结果数组是否存在当前元素，如果有相同的值则跳过，不相同则push进数组。
四、利用sort()

利用sort()排序]]></description><category></category></item><item><title><![CDATA[如何使用最基本的for循环]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/106869632</link><guid>https://blog.youkuaiyun.com/tylls/article/details/106869632</guid><author>tylls</author><pubDate>Sat, 20 Jun 2020 11:13:05 +0800</pubDate><description><![CDATA[前言
今天学习到了for循环语句，我觉得自己有必要整理一下，虽然很内容很少，但是也不能不重视它，基础要一步一步打牢。
一、for循环的语句格式
1、循环语句的组成
（1）初始化语句：一条或者多条语句，这些语句完成一些初始化操作
（2）判断条件语句：这是一个boolean 表达式，这个表达式能决定是否执行循环体
（3）循环体语句：这个部分是循环体语句，也就是我们要多次做的事情
（4）控制条件语句：这个部分在一次循环体结束后，下一次循环判断条件执行前执行。通过用于控制循 环条件中的变量，使得循环在合适的时候结束]]></description><category></category></item><item><title><![CDATA[你真的会用js中的++和--吗]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/106844978</link><guid>https://blog.youkuaiyun.com/tylls/article/details/106844978</guid><author>tylls</author><pubDate>Thu, 18 Jun 2020 23:06:37 +0800</pubDate><description><![CDATA[前言
自增和自减相信大家都听说过,就拿自增来说，++在前，先运算在赋值，++在后先赋值，在运算。我相信大家都记得这句话，可是实际用的时候，你真的会算对吗？
小试牛刀
来看一道题
 var c = 1;
 var z = ++c + c++;
 我刚开始算的步骤是：  
  z=2+c++
  z=2+2++
  z=2+3
  z=5

反思 ： 这是我第一次的解题步骤，但是我到浏览器打印的结果是4，我当时人就‘傻了’。我寻思自己的解题步骤没错啊，那问题肯定就是我的解题思维出现了问题。终于在询问了各路大神后]]></description><category></category></item><item><title><![CDATA[玩转js隐式转换]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/106817529</link><guid>https://blog.youkuaiyun.com/tylls/article/details/106817529</guid><author>tylls</author><pubDate>Wed, 17 Jun 2020 22:14:42 +0800</pubDate><description><![CDATA[预知先问

在js底层，什么数据可以进行运算？
为什么会有隐式类型转换？

个人见解
第一问：只有基本数据类型才能进行运算。
第二问：由第一问可得，所有的引用类型数据，需要运算时，会先转换为基本类型数据，再进行运算，另外所有的引用类型只能转换为字符串，因为浏览器默认数据类型就是字符串。
例子

对象转换为字符串都是[object Object]。

函数转换为字符串写啥转啥。

...]]></description><category></category></item><item><title><![CDATA[新手一步了解Github]]></title><link>https://blog.youkuaiyun.com/tylls/article/details/106723350</link><guid>https://blog.youkuaiyun.com/tylls/article/details/106723350</guid><author>tylls</author><pubDate>Fri, 12 Jun 2020 20:47:43 +0800</pubDate><description><![CDATA[新手一步了解git使用方法
对于刚接触github的朋友来说对于新手来说，配置是我们最头疼的问题，对于这样的情况每个人都会有，所以笔者今天教你3步解决github的初级使用；
具体步骤
一：初始化本地仓库git
二：将自己的电脑与指定github账户关联
三：将自己的仓库与github上的某个项目关联
一：初始化本地仓库git
1.下载一个git吧   下载链接 ，根据提示安装git
2.新建一个文件夹repo作为本地仓库，右键，选择Git Init here。注意：有的版本没有git init here ]]></description><category></category></item></channel></rss>