<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CSH_lucky的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CSH_lucky</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CSH_lucky]]></copyright><item><title><![CDATA[前端面试题]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108350692</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108350692</guid><author>CSH_lucky</author><pubDate>Tue, 01 Sep 2020 21:01:55 +0800</pubDate><description><![CDATA[1.为什么组件中数据需要是一个函数?
组件是可复用的vue实例，一个组件被创建好之后，就可能被用在各个地方，而组件不管被复用了多少次，组件中的data数据都应该是相互隔离，互不影响的，基于这一理念，组件每复用一次，data数据就应该被复制一次，之后，当某一处复用的地方组件内data数据被改变时，其他复用地方组件的data数据不受影响，
如果直接使用对象包裹, 那么组件在复用时, 所有的数据都执行同一块内存空间, 修改某一个,  所有的组件值都会发生变化, 这不符合服用的逻辑

...]]></description><category></category></item><item><title><![CDATA[Moment.js的基本使用]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108348401</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108348401</guid><author>CSH_lucky</author><pubDate>Tue, 01 Sep 2020 19:03:43 +0800</pubDate><description><![CDATA[一、Moment.js的简介
Moment.js是一个轻量级的JavaScript时间库，以前我们转化时间，都会进行很复杂的操作，而Moment.js的出现，简化了我们开发中对时间的处理，提高了开发效率。日常开发中，通常会对时间进行下面这几个操作：比如获取时间，设置时间，格式化时间，比较时间等等。
二、在node.js里面操作步骤
1.安装moment
npm install moment
2.导入模块
//require导入
var moment = require('moment');
//import]]></description><category></category></item><item><title><![CDATA[webpack的使用]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108227275</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108227275</guid><author>CSH_lucky</author><pubDate>Tue, 25 Aug 2020 19:04:02 +0800</pubDate><description><![CDATA[1. webpack的默认配置

创建项目文件夹
nodejs初始化   npm init -y
安装模块   npm i  webpack webpack-cli --save-dev
创建文件夹 dist   dis里面创建index.html文件
创建文件夹 src   src里面写index.js文件
打开终端 输入 npx webpack进行打包   打包完毕  dist文件里面会出现一个main.js
在index.html里面引入main.js  (main.js是根据src文件夹里面的文件打]]></description><category></category></item><item><title><![CDATA[vue的axios的实现]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108221286</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108221286</guid><author>CSH_lucky</author><pubDate>Tue, 25 Aug 2020 15:17:35 +0800</pubDate><description><![CDATA[一、axios和ajax的区别
axios就是ajax，但是ajax不等于axios，axios只是通过promise实现对ajax的封装，就像jQuery对ajax的封装一样
简单来说： ajax技术实现了网页的局部数据刷新，axios实现了对ajax的封装。
原生ajax
 function ajax(url){
        var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ActiveXObject("microsoft.XMLHtt]]></description><category></category></item><item><title><![CDATA[Vue.js函数的生命周期]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108087114</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108087114</guid><author>CSH_lucky</author><pubDate>Tue, 18 Aug 2020 20:56:06 +0800</pubDate><description><![CDATA[一、vue里的生命周期是什么？
vue实例从创建到销毁的过程称之为vue的生命周期
二、vue.js里面的钩子函数
钩子函数 昰什么
相当于回调函数 即让开发者在特定的时候  执行自定义逻辑
1、自定义指令的钩子函数

bind : 让开发者将自定义指令绑定到dom元素上面时  执行自定义逻辑
inserted ： 让开发者在元素插入dom树的时候  执行之定义逻辑
update ： 让开发者在元素状态发生变化的时候  执行之定义逻辑

2、vue.js生命周期里面一共有8个钩子函数

beforeCrea]]></description><category></category></item><item><title><![CDATA[Vue的双向数据绑定]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/108086202</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/108086202</guid><author>CSH_lucky</author><pubDate>Tue, 18 Aug 2020 20:13:36 +0800</pubDate><description><![CDATA[一、什么是双向数据绑定
数据双向绑定，即当数据发生变化的时候，视图也就发生变化，当视图发生变化的时候，数据也会跟着同步变化。
二、vue里面的双向数据绑定
在vue里面使用v-model实现双向数据绑定，代码非常的方便简单
&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-wi]]></description><category></category></item><item><title><![CDATA[js的时间线]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107946688</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107946688</guid><author>CSH_lucky</author><pubDate>Tue, 11 Aug 2020 22:57:23 +0800</pubDate><description><![CDATA[时间线：
三个状态（document.readyState）
1、loading
这个状态的时候开始绘制DOM树
2、interactive
DOM树绘制完成后是这个状态，但是此时src、href中的资源未加载
3、complete 或者 loaded
src、href中的资源加载完成
三个事件
    1、DOMContentLoaded
            这个事件是DOM树绘制完成后触发，也就是上面的状态为interactive的时候
    2、window.onload
           ]]></description><category></category></item><item><title><![CDATA[nodejs的express框架]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107944461</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107944461</guid><author>CSH_lucky</author><pubDate>Tue, 11 Aug 2020 20:58:51 +0800</pubDate><description><![CDATA[express框架的简介
express静态托管
express路由
get
post

]]></description><category></category></item><item><title><![CDATA[JS异步加载的方式]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107923574</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107923574</guid><author>CSH_lucky</author><pubDate>Mon, 10 Aug 2020 22:34:45 +0800</pubDate><description><![CDATA[一.异步加载
说起异步加载，我就先说说同步加载
同步加载(同步模式) :又称阻塞模式，会停止浏览器的后续处理，也就是后续的代码解析和页面渲染。而我们通常写代码都是在同步模式中，一旦前面有代码出错，后面的代码就会停止运行。
异步加载:又称非阻塞模式，在下载js文件的同时，对后续的代码也进行处理。也就是说，在异步加载模式下，一旦前面的代码出错，后面的代码也不会停止执行。
二.异步加载的方式
1.动态创建script标签
2.defer和async属性

...]]></description><category></category></item><item><title><![CDATA[js的兼容性及处理方法]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107794280</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107794280</guid><author>CSH_lucky</author><pubDate>Tue, 04 Aug 2020 18:40:47 +0800</pubDate><description><![CDATA[1.关于获取行外样式的兼容性
通过js我们不能通过（HTML元素.style.样式属性）获取到页面上元素的行内样式，我们可以通过一下两个方法来获取行内样式
1.getComputedStyle(oDiv,false)
兼容Firefox，Opera，Safari，Chrome，不兼容IE
2.currentStyle
IE下获取行内样式
oDiv.currentStyle.width
这里封装了一个兼容所有浏览器的函数
  funtion getStyle(obj,name){
  if(obj.curre]]></description><category></category></item><item><title><![CDATA[事件绑定与解绑]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107775534</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107775534</guid><author>CSH_lucky</author><pubDate>Mon, 03 Aug 2020 22:57:57 +0800</pubDate><description><![CDATA[事件绑定的方式
on…

]]></description><category></category></item><item><title><![CDATA[Node.js 连接 MySQL]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107644400</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107644400</guid><author>CSH_lucky</author><pubDate>Tue, 28 Jul 2020 20:35:00 +0800</pubDate><description><![CDATA[导言
在我们学习后端（node）的过程中，要时常和数据库打交道，所以说我们打通node、MySQLJavaScript实际上是对客户端、服务器、数据库的一个简单打通，有利于后面更加细致的学习node相关知识。
mysql基本的增删改查
1.在数据中插入数据,value里面是插入的数据
insert into students values(NULL,“王刚”,“男”,20,“12345678”);
2.查询数据库  查询所有数据
select * from students;
where后面是查询的条件
s]]></description><category></category></item><item><title><![CDATA[使用node.js爬虫]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107633562</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107633562</guid><author>CSH_lucky</author><pubDate>Tue, 28 Jul 2020 12:43:40 +0800</pubDate><description><![CDATA[先下载安装好node.js

]]></description><category></category></item><item><title><![CDATA[ES6中的类]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107494708</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107494708</guid><author>CSH_lucky</author><pubDate>Tue, 21 Jul 2020 18:27:44 +0800</pubDate><description><![CDATA[导言
在原生的JS里面，没有类这个概念,他是ES5封装的函数，从本质上讲，他还是函数。ES6 的class可以看作只是一个语法糖
与传统的构造函数相比
传统构造函数的缺点：

构造函数和原型方法及属性分离 不便于维护 降低可读性
原型对象可以被遍历修改
默认情况下构造函数可以被当做普通的函数进行调用  功能性不明确
原型中的方法也可以作为构造函数来用
下面是一个传统的构造函数

function Student(name, age) {
    this.name = name;
    this.age ]]></description><category></category></item><item><title><![CDATA[ES6集合]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107481584</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107481584</guid><author>CSH_lucky</author><pubDate>Tue, 21 Jul 2020 13:04:50 +0800</pubDate><description><![CDATA[导言
ES6提供的了几个新的数据结构（集合）Set、Map、WeakSet  、WeakMap，下面我来分析一下它们的不同
Set集合
他类似于数组，但是他的成员的值具有唯一性，没有重复的值

特点

1.Set本身是一个构造函数，能够使用new关键字创建
2.Set数据类型里面的值具有唯一性



var set = new Set([1,2,3,2,1]);
console.log(set)//[1,2,3]


注意：Set集合只能接受可迭代的数据作为初始化数据（只有数组和字符串以及伪数组），对象不可]]></description><category></category></item><item><title><![CDATA[js继承的方式]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107472145</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107472145</guid><author>CSH_lucky</author><pubDate>Mon, 20 Jul 2020 20:33:18 +0800</pubDate><description><![CDATA[js的继承实现的方式具体可以分为6种
以下面的构造函数为例
function Person(name, age, sex) {
   this.name = name;
    this.age = age;
    this.sex = sex;
    this.sleep = function() {
        console.log(this.name + "每天都要睡觉");
    }
}

Person.prototype.run = function() {
    console.l]]></description><category></category></item><item><title><![CDATA[ES6函数及其指向]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107328221</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107328221</guid><author>CSH_lucky</author><pubDate>Mon, 13 Jul 2020 23:58:52 +0800</pubDate><description><![CDATA[普通函数
箭头函数
()=&gt;{}

]]></description><category></category></item><item><title><![CDATA[伪数组转为真数组]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107328169</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107328169</guid><author>CSH_lucky</author><pubDate>Mon, 13 Jul 2020 23:54:27 +0800</pubDate><description><![CDATA[数字API
is()
字符串API
includes

]]></description><category></category></item><item><title><![CDATA[原生Ajax和jQuery的Ajax]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107191320</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107191320</guid><author>CSH_lucky</author><pubDate>Wed, 08 Jul 2020 13:55:14 +0800</pubDate><description><![CDATA[概要
AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量的数据交换，AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下，对网页的某部分进行更新。
原生AJAX
原生ajax的五个步骤
&lt;script&gt;
	var xhr = new XMLHttpRequest(); //创建一个异步对象
	xhr.open("Get"，"test.ashx"， true);//Get方式括号中的三个参数分别为：1.发送请求的方式 2.样请求的页面 3.是否异步
	//xh]]></description><category></category></item><item><title><![CDATA[深克隆和浅克隆]]></title><link>https://blog.youkuaiyun.com/CSH_lucky/article/details/107190095</link><guid>https://blog.youkuaiyun.com/CSH_lucky/article/details/107190095</guid><author>CSH_lucky</author><pubDate>Tue, 07 Jul 2020 21:23:41 +0800</pubDate><description><![CDATA[概括：深拷贝和浅拷贝 的主要区别就是：复制的是引用(地址)还是复制的是实例。
深拷贝：主要复制的是实例，改变原对象，拷贝的对象的内容不会随之改变，深拷贝主要针对的是的例如Object，Array的复杂数据
浅拷贝：主要复制的是引用的地址，改变原对象，拷贝的对象会随之改变
浅拷贝
数组的concat，对象的assign拷贝
concat看起来很像深拷贝，但是实质上他还是浅拷贝，在Array.prototype.cancat 拷贝出来数组中的对象还是共享同一内存地址，所以本质上归属浅拷贝
&lt;script&]]></description><category></category></item></channel></rss>