<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kro_C]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Kro_C</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Kro_C]]></copyright><item><title><![CDATA[Sass]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115543897</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115543897</guid><author>Kro_C</author><pubDate>Fri, 09 Apr 2021 20:53:04 +0800</pubDate><description><![CDATA[语法：

注释：


多行注释： /* */
单行注释： //


变量：


变量以$开头，$+变量名:变量值；
全局变量与局部变量：定义在任何选择器之外的变量称为全局变量，定义在选择器内的变量称为局部变量。要在局部修改全局变量,需要添加!global(sass 3.4版本后可用)
默认变量 !default，假如有两个变量重名，下面的变量引用了 !default，则不会覆盖上面的变量。
变量特殊用法：用于属性的时候要以#{$变量名}形式使用


	$color: #333; // 全局变量
	.box.]]></description><category></category></item><item><title><![CDATA[Gulp_运行环境及使用&&gulp插件]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115524064</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115524064</guid><author>Kro_C</author><pubDate>Thu, 08 Apr 2021 20:51:11 +0800</pubDate><description><![CDATA[gulp

当下最流行的自动化工具，可以自动化完成开发过程中大量的重复工作

编译：
es6-&gt;es5
sass-&gt;css
less-&gt;css
coffeescript-&gt;js
合并:
css,js
压缩:
css,js,html
优化:
图片优化


准备工作

1.安装NodeJS环境
2.了解npm命令的使用
3.了解nodeJS模块化
4.了解gulp

安装环境


前提是安装了nodeJS环境


全局安装gulpnpm install --global gulp
说明:]]></description><category></category></item><item><title><![CDATA[JavaScript_继承与闭包]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115469515</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115469515</guid><author>Kro_C</author><pubDate>Thu, 08 Apr 2021 16:22:33 +0800</pubDate><description><![CDATA[构造函数,实例对象和原型对象:

原型链:

原型链

原型链:实例与Object原型对象之间的链条称为原型链

原型对象

构造函数.prototype得出来的对象,万物皆对象,一切对象都存在原型对象(原型)

内置原型对象

Number
String
Array
Boolean
Function
Date
RegExp
…

扩展内置原型对象

添加方法
解决兼容问题
String.prototype.trim 在IE低版本浏览器中无法使用

        if(!String.prototype.]]></description><category></category></item><item><title><![CDATA[JavaScript_call和apply的使用&&判断数据类型]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115494171</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115494171</guid><author>Kro_C</author><pubDate>Wed, 07 Apr 2021 19:53:50 +0800</pubDate><description><![CDATA[call：
- 格式：父类.call(子类实例,参数1,参数2,参数3...)
apply：
格式：父类.apply(子类实例,[参数1,参数2,参数3...])实例后面为数组


call案例:
	&lt;button&gt;按钮1&lt;/button&gt;
    &lt;button&gt;按钮2&lt;/button&gt;
    &lt;button&gt;按钮3&lt;/button&gt;
    &lt;button&gt;按钮4&lt;/button&gt;
    &lt;bu..]]></description><category></category></item><item><title><![CDATA[JavaScript_正则&&正则案例]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115468102</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115468102</guid><author>Kro_C</author><pubDate>Tue, 06 Apr 2021 19:54:36 +0800</pubDate><description><![CDATA[正则

正则:由一些符号和一些特殊符号组成的一种模式
作用:检测字符串是否符合规则的一种模式

	定义正则模式:
	var reg = /正则规则/
	var reg = new RegExp(正则规则)

正则的元字符

\d：表示数字
\D：表示非数字
\s：表示空格
\S：表示非空格
\w：表示数字,字母,下划线
\W：表示费数字,字母,下划线
. ：表示换行以外的任意字符

正则的限定符

主要限定字符出现的次数


*：表示符号前面的字符可以出现0-正无穷次
+：表示符号前面的字符可以出现1-正无]]></description><category></category></item><item><title><![CDATA[JavaScript_classList]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115466497</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115466497</guid><author>Kro_C</author><pubDate>Tue, 06 Apr 2021 17:46:51 +0800</pubDate><description><![CDATA[classList:获取元素class的集合

length : class的个数
add() : 给元素添加class,是以追加的形式,不会覆盖之前已经存在的class
contains() : 判断元素是否包含指定的class名,返回值为布尔值
remove() : 移除指定的class名
toggle() : 切换指定的class名,如果存在就将这个class名移除,如果不存在就添加



...]]></description><category></category></item><item><title><![CDATA[JavaScript_阻止浏览器的默认行为]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115466409</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115466409</guid><author>Kro_C</author><pubDate>Tue, 06 Apr 2021 17:42:09 +0800</pubDate><description><![CDATA[阻止浏览器的默认行为
	e.perventDefault();
	e.returnValue = false;


]]></description><category></category></item><item><title><![CDATA[JavaScript_事件传播&&事件委托]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115373429</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115373429</guid><author>Kro_C</author><pubDate>Tue, 06 Apr 2021 17:36:37 +0800</pubDate><description><![CDATA[事件传播

事件传播的机制:
事件冒泡
事件捕获

事件冒泡:
事件会从触发这个事件的元素开始,往父元素一级一级冒泡触发.
事件捕获:
事件会从传播路径中最顶层的window开始,往下捕获,知道捕获到真正触发这个事件的元素就停止传播
	事件监听:addEventListener('事件类型',事件处理函数,设置事件的传播机制布尔值)
	第三个参数为true的时候,这个事件的传播方式为事件捕获
	false则为事件冒泡

阻止事件传播

e.cancelBubble = true
e.stopPropagat]]></description><category></category></item><item><title><![CDATA[JavaScript_键盘事件]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/115370585</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/115370585</guid><author>Kro_C</author><pubDate>Thu, 01 Apr 2021 11:51:50 +0800</pubDate><description><![CDATA[键盘事件

keydown 按下键盘的时候触发的事件
keyup 抬起键盘的时候触发的事件
keypress 按下字符键的时候触发的事件
注:这些事件只能给一些可以输入内容的元素(input/textarea) 和 document 和 window 绑定

btn.onkeydown = function(){
	var e = window.event;
	/* 
    	keyCode 得到的是键盘的编码
    	altKey 判断按下的是否是 alt
    	ctrlKey 判断按下的是否是 ]]></description><category></category></item><item><title><![CDATA[JavaScript_DOM]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114948331</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114948331</guid><author>Kro_C</author><pubDate>Tue, 23 Mar 2021 15:11:32 +0800</pubDate><description><![CDATA[DOM

DOM: document object model 文档对象模型,主要提供一些操作文档的属性和方法
操作元素节点的属性和方法

获取元素的方法:

根据id名来获取元素 document.getElementById(‘id名’)
返回值:获取的元素
根据class名来获取 document.getElementsByClassName(‘class名’)
返回值:是一个伪数组,需要通过索引的形式 获取里面的元素
根据标签名来获取 document.getElementsByTagName(‘标]]></description><category></category></item><item><title><![CDATA[JavaScript_BOM]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114944955</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114944955</guid><author>Kro_C</author><pubDate>Wed, 17 Mar 2021 20:27:47 +0800</pubDate><description><![CDATA[JavaScript的组成

JavaScript的组成
ECMAScript : js中核心语法
BOM: browser object model 浏览器对象模型,主要提供一些操作浏览器的方法和属性
DOM: document object model 文档对象模型,主要提供一些操作文档的属性和方法


window：BOM范畴中的顶级对象，es中的全局对象
es中的全局对象: 当全局定义了一个变量的时候,那么会把这个变量存储在window对象中

获取浏览器的窗口尺寸
	window.innerWid]]></description><category></category></item><item><title><![CDATA[JavaScript_date对象&创建固定的时间对象&时间格式化函数&时间差函数]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114938991</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114938991</guid><author>Kro_C</author><pubDate>Wed, 17 Mar 2021 19:14:59 +0800</pubDate><description><![CDATA[date对象

date对象: 提供操作时间的一些方法

	var date = new Date();
	console.log(date);
	//当前计算机的时间
	Wed Mar 17 2021 17:15:25 GMT+0800 (GMT+08:00)

	获取年份:
	var years = date.getFullYear();

	获取月份:
	getMonth()得到的月份默认从0开始,一般获取的时候需要+1
	var month = date.getMonth()+1; // 获取月份
]]></description><category></category></item><item><title><![CDATA[JavaScript_定时器]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114937996</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114937996</guid><author>Kro_C</author><pubDate>Wed, 17 Mar 2021 17:12:38 +0800</pubDate><description><![CDATA[定时器
间隔执行函数:setInterval()
	格式:setInterval ( function ( ) {
			需要执行的代码
		 },时间)
	执行的次数:不限次()只要不手动清除这个定时器,它就会一直执行

	var timer = setInterval(function(){
		console.log(1);
	},1000);

延迟执行函数:setTimeout()
	格式:setTimeout(function(){
		需要执行的代码
	},时间)
	执行的次数:一次
	也称炸]]></description><category></category></item><item><title><![CDATA[JavaScript_math对象]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114937420</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114937420</guid><author>Kro_C</author><pubDate>Wed, 17 Mar 2021 16:55:15 +0800</pubDate><description><![CDATA[Math对象

Math对象,主要是元素js提供的一个对象
对象提供一些方法,用来操作数字的方法


Math.random() 随机数: 得到一个0-1的随机数
Math.round() 四舍五入
Math.floor() 向下取整
Math.ceil() 向上取整
Math.pow(n,m) 求n的m次方
Math.sqrt() 开方
Math.max() 求一堆数据的最大值,参数不能为数组
Math.min() 求一堆数据的最小值,参数不能为数组

	console.log(Math.min(1,2,]]></description><category></category></item><item><title><![CDATA[JavaScript_字符串&&字符串的方法]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114899155</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114899155</guid><author>Kro_C</author><pubDate>Wed, 17 Mar 2021 16:43:20 +0800</pubDate><description><![CDATA[字符串

定义字符串
1.字面量定义 : var str = ’ ’ || " " || ``;
2.内置构造函数定义 var str = new String();

	var str = "1234";
    var str = new String(1234)
    console.log(str[1]); // 2
    console.log(str.length);// 4


字符串的属性
字符串有索引,也有length属性
可以通过索引获取字符串中的某个字符
字符串是可读不可写(只可以]]></description><category></category></item><item><title><![CDATA[JavaScript_伪数组转换成真数组]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114898463</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114898463</guid><author>Kro_C</author><pubDate>Tue, 16 Mar 2021 20:26:44 +0800</pubDate><description><![CDATA[把伪数组转换成真数组

ES5的方法:
Array.prototype.slice.call(元素对象)


ES6的方法:
Array.from(元素对象)


运用…运算符(扩展运算符)
元素对象 = […元素对象]
arr = […arr]

案例:
	&lt;div&gt;
        &lt;input type="checkbox" class="box"&gt;
        &lt;input type="checkbox" class="box"&gt;
        &lt;in]]></description><category></category></item><item><title><![CDATA[JavaScript_数组&&数组的方法]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114747431</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114747431</guid><author>Kro_C</author><pubDate>Mon, 15 Mar 2021 20:07:49 +0800</pubDate><description><![CDATA[?]]></description><category></category></item><item><title><![CDATA[JavaScript_数据在内存的存储方式&不同数据类型作为参数的区别]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114746423</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114746423</guid><author>Kro_C</author><pubDate>Sat, 13 Mar 2021 14:53:35 +0800</pubDate><description><![CDATA[数据在内存中的存储方式
栈

栈:存储 变量名 和 基本数据类型

堆

堆:存储 复杂数据类型

	var num = 10;
    var num1 = num;
    num = 20;
    console.log(num,num1);
    			//10 20

复杂数据类型的存储:

当有多个变量指向同一个地址的时候,无论通过哪个变量去修改地址中的数据,其他的变量去使用的时候得到的都是被修改过后的数据
(共享同一个地址)

    var obj = {name: 'aaa'};
  ]]></description><category></category></item><item><title><![CDATA[JavaScript_对象]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114737141</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114737141</guid><author>Kro_C</author><pubDate>Sat, 13 Mar 2021 14:33:57 +0800</pubDate><description><![CDATA[数据类型分类

复杂数据类型:
对象
函数
数组
正则
…

对象

万物皆对象
对象的组成:键值对的形式 key:value ==&gt; 属性:属性值
每一对键值对用逗号隔开

创建对象
	var obj = {}; //字面量定义(常用)
	var obj1 = new Object();//内置构造函数定义

创建一个有内容的对象
	var obj = {
		name:'旺旺雪饼',
		age:'28',
	};
	console.log(obj);


...]]></description><category></category></item><item><title><![CDATA[JavaScript_函数_递归&回调函数]]></title><link>https://blog.youkuaiyun.com/Kro_C/article/details/114734847</link><guid>https://blog.youkuaiyun.com/Kro_C/article/details/114734847</guid><author>Kro_C</author><pubDate>Sat, 13 Mar 2021 11:27:41 +0800</pubDate><description><![CDATA[递归
递归:一种编程方式

直接或者间接调用自身的一种程序
包含一种隐式的循环执行一些代码,不需要循环去控制
必须要有结束的条件(出口)
如果递归中没有结束条件的时候,会造成死递归(一直执行这个递归函数)

递归实现5的阶乘
		function jc(n){
            if(n == 1){
                return 1;
            }
            return n * jc(--n);
        }
        var res = j]]></description><category></category></item></channel></rss>