<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yinviolet的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yinviolet</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yinviolet]]></copyright><item><title><![CDATA[css3基础知识点--animation动画]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/106282543</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/106282543</guid><author>yinviolet</author><pubDate>Fri, 22 May 2020 16:21:44 +0800</pubDate><description><![CDATA[css3基础知识点–animation动画
参数：
1、@keyframes 定义关键帧动画
2、animation-name 动画名称
3、animation-duration 动画时间
4、animation-timing-function 动画曲线
linear 匀速
ease 开始和结束慢速
ease-in 开始是慢速
ease-out 结束时慢速
ease-in-out 开始和结束时慢速
steps 动画步数

5、animation-delay 动画延迟
6、animation-iteratio]]></description><category></category></item><item><title><![CDATA[继承的多种方式]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/101161876</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/101161876</guid><author>yinviolet</author><pubDate>Sun, 22 Sep 2019 16:15:38 +0800</pubDate><description><![CDATA[常用的继承方法：
1.原生继承
/ 抽取共同点
        /* 人类 */
        function People(name, age, sex) {
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        People.protot...]]></description><category></category></item><item><title><![CDATA[小型贪吃蛇游戏（有小bug)]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100635582</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100635582</guid><author>yinviolet</author><pubDate>Sun, 08 Sep 2019 19:21:29 +0800</pubDate><description><![CDATA[&lt;body&gt;
    &lt;button class="start"&gt;开始游戏&lt;/button&gt;
    &lt;button class="stop"&gt;暂停游戏&lt;/button&gt;
    &lt;button class="reset"&gt;重置游戏&lt;/button&gt;
    &lt;div class="map"&gt;&lt;/...]]></description><category></category></item><item><title><![CDATA[轮播图]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100556369</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100556369</guid><author>yinviolet</author><pubDate>Thu, 05 Sep 2019 13:44:25 +0800</pubDate><description><![CDATA[&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;t...]]></description><category></category></item><item><title><![CDATA[正则表达式里面的符号]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100185120</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100185120</guid><author>yinviolet</author><pubDate>Sun, 01 Sep 2019 17:19:52 +0800</pubDate><description><![CDATA[正则表达式里面的符号
元字符


. ： 匹配非换行的任意字符


\ ： 转译符号，把有意义的 符号 转换成没有意义的 字符，把没有意义的 字符 转换成有意义的 符号


\s ： 匹配空白字符（空格/制表符/…）


\S ： 匹配非空白字符


\d ： 匹配数字


\D ： 匹配非数字


\w ： 匹配数字字母下划线


\W ： 匹配非数字字母下划线


有了元字符我们就可以简单的制...]]></description><category></category></item><item><title><![CDATA[事件绑定方式]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100185071</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100185071</guid><author>yinviolet</author><pubDate>Sun, 01 Sep 2019 17:01:54 +0800</pubDate><description><![CDATA[事件绑定方式

DOM0级


绑定

元素.on事件类型 = 事件函数
只能够绑定一个事件 因为它是对属性进行赋值



移除

元素.on事件类型 = null






我们都知道，一个对象的属性只能够保存一个值。 如果对一个对象属性进行多次赋值，后面赋值的属性会替换掉前面的属性



DOM2级


绑定

dom.addEventListener(type, handler, bool...]]></description><category></category></item><item><title><![CDATA[ES5的数组方法]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100184807</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100184807</guid><author>yinviolet</author><pubDate>Sun, 01 Sep 2019 16:43:26 +0800</pubDate><description><![CDATA[ES5的数组方法


forEach 迭代器方法 其实就是循环

参数是函数 函数会执行多次 要看数组的长度  这个函数有三个参数

数组的成员
数组的下标
数组本身
this指向window





map 迭代器方法 根据参数的返回 生成一个对应的数组

参数是函数 函数会执行多次 要看数组的长度 这个函数有三个参数

数组的成员
数组的下标
数组本身
this指向window


返回值 ...]]></description><category></category></item><item><title><![CDATA[字符串的一系列方法以及函数传参]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100129905</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100129905</guid><author>yinviolet</author><pubDate>Thu, 29 Aug 2019 08:36:25 +0800</pubDate><description><![CDATA[字符串
存储： 计算机只能够存储二进制 所以存储字符串时 也需要转为二进制 所以就需要有一个对照表 方便将字符和二进制进行转换 这样的内容叫做编码方式 常见的有 ascii unicode 等

定义字符串的新的方式
    var str = new String("a");
    console.log(typeof str); // object
    // 转换为字符串的方式就是str...]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100129900</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100129900</guid><author>yinviolet</author><pubDate>Thu, 29 Aug 2019 08:33:12 +0800</pubDate><description><![CDATA[函数参数传递基本数据类型和复杂数据类型的区别


之前我们知道了，基本数据类型和复杂数据类型在存储上是有区别的


那么他们在赋值之间也是有区别的


基本数据类型之间的赋值
var num = 10
var num2 = num

num2 = 200

console.log(num) // 100
console.log(num2) // 200


相当于是把 num 的值复制了一份一摸一...]]></description><category></category></item><item><title><![CDATA[数组的一些常见方法]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100129893</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100129893</guid><author>yinviolet</author><pubDate>Thu, 29 Aug 2019 08:32:46 +0800</pubDate><description><![CDATA[数组的常用方法


数组是一个复杂数据类型，我们在操作它的时候就不能再想基本数据类型一样操作了


比如我们想改变一个数组
// 创建一个数组
var arr = [1, 2, 3]

// 我们想把数组变成只有 1 和 2
arr = [1, 2]


这样肯定是不合理，因为这样不是在改变之前的数组
相当于心弄了一个数组给到 arr 这个变量了
相当于把 arr 里面存储的地址给换了，也就是把存...]]></description><category></category></item><item><title><![CDATA[中文日期]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100127185</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100127185</guid><author>yinviolet</author><pubDate>Wed, 28 Aug 2019 21:30:06 +0800</pubDate><description><![CDATA[实现一个函数，该函数接受一个Date对象 返回对应的中文日期
var date = new Date(); // 假设今天是2019年8月27日13点5分39秒
返回 =&gt; 贰零壹玖年捌月贰拾柒日壹拾叁点伍分叁拾玖秒
function formatChineseDate(date) {
    // 获取年
    var year = date.getFullYear();
    // ...]]></description><category></category></item><item><title><![CDATA[js统计字符串的字符个数]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100099156</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100099156</guid><author>yinviolet</author><pubDate>Tue, 27 Aug 2019 14:41:52 +0800</pubDate><description><![CDATA[题目：
		**统计字符串中每个字符的个数？
        var str = 'abcdacbabcbababcbabcabd'
        // 结果
        // { a: 出现次数， b: 出现次数, ...}**

 &lt;script&gt;
        function Obj(str){
            var obj = {};
           ...]]></description><category></category></item><item><title><![CDATA[JavaScript  选择排序]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100060040</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100060040</guid><author>yinviolet</author><pubDate>Sun, 25 Aug 2019 09:26:27 +0800</pubDate><description><![CDATA[选择排序


先假定数组中的第 0 个就是最小的数字的索引


然后遍历数组，只要有一个数字比我小，那么就替换之前记录的索引


知道数组遍历结束后，就能找到最小的那个索引，然后让最小的索引换到第 0 个的位置


再来第二趟遍历，假定第 1 个是最小的数字的索引


在遍历一次数组，找到比我小的那个数字的索引


遍历结束后换个位置


依次类推，也可以把数组排序好


&lt;script&g...]]></description><category></category></item><item><title><![CDATA[递归举例-斐波那契数列]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100038783</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100038783</guid><author>yinviolet</author><pubDate>Fri, 23 Aug 2019 15:15:02 +0800</pubDate><description><![CDATA[**
斐波那契数列
**
 &lt;script&gt;
        function Fei(num){
            if(num === 1 || num === 2){
                return 1;
            }
            return Fei(num - 1) + Fei(num - 2);
        }
      ...]]></description><category></category></item><item><title><![CDATA[break和continue的区别]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100035088</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100035088</guid><author>yinviolet</author><pubDate>Fri, 23 Aug 2019 12:00:38 +0800</pubDate><description><![CDATA[break
break关键字，用于打断循环的执行。
我们已经见过的break就是switch case语句中的break。如果执行完case中的代码遇见了break，则跳出分支结构。如果没有遇见break，则会继续往下“落空”。继续执行下一个case代码。
额外知识点： 可以通过 x: 在for关键字之前 给当前循环添加一个标记 x表示这个标记的名称
当break使用时，可以在break后面跟一个...]]></description><category></category></item><item><title><![CDATA[js入门的基本知识点]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100034383</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100034383</guid><author>yinviolet</author><pubDate>Fri, 23 Aug 2019 11:42:39 +0800</pubDate><description><![CDATA[变量
变量的定义： var 变量名 = 变量值;
变量名的规范：
数字/字母/下划线(_)/美元符号($)组成
不可以以数字开头
不可以使用关键字保留字作为变量名
JS语法严格区分大小写
var a = 1;
var A = 2;

这是两个不同的变量
&lt;script&gt;
        // 交换两个变量的值
        var a = 10;
        var b = 11...]]></description><category></category></item><item><title><![CDATA[JavaScript 基础知识点]]></title><link>https://blog.youkuaiyun.com/yinviolet/article/details/100033118</link><guid>https://blog.youkuaiyun.com/yinviolet/article/details/100033118</guid><author>yinviolet</author><pubDate>Fri, 23 Aug 2019 11:10:44 +0800</pubDate><description><![CDATA[for循环以及例子：水仙花数for 循环
for 循环
语法：
for (初始条件1; 判定条件2; 修改初始值4) {
循环体3
}
执行规则：
第一次执行： 1 2 3 4
之后的每一次执行： 2 3 4
变种1： 将初始条件放到for循环前面
变种2： 将修改初始值放入循环体的末尾
变种写法, 知道可以这么写，千万不要这么用
循环变量：在循环结束之后，依旧可用
 &lt;script&gt;...]]></description><category></category></item></channel></rss>