<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ephemeral0的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ephemeral0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ephemeral0]]></copyright><item><title><![CDATA[vue传参]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/107167384</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/107167384</guid><author>ephemeral0</author><pubDate>Mon, 06 Jul 2020 20:38:15 +0800</pubDate><description><![CDATA[Vue 常用的三种传值方式
1.父传子
2.子传父
3.非父子传值
父子组件的关系
首先，我们要使用Vue的组件传值，我们要知道组件之间的关系。
父子组件的关系可以总结为 prop 向下传递，事件向上传递。父组件通过 prop 给子组件下发数据，子组件通过事件给父组件发送消息，如下图所示
å¨è¿éæå¥å¾çæè¿°
什么是Prop
要实现组件传值，我们要了解什么是prop。
Prop是用来传递数据的一种自定义属性。
Prop是单向数据流。所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑]]></description><category></category></item><item><title><![CDATA[新手快速学会gulp插件的使用]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/105083882</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/105083882</guid><author>ephemeral0</author><pubDate>Tue, 24 Mar 2020 23:00:47 +0800</pubDate><description><![CDATA[1. 安装插件


删除文件夹：gulp-clean


压缩css：gulp-cssmin


css前缀：gulp-autoprefixer


压缩js：gulp-uglify


ES6转ES5：gulp-babel


套件1：@babel/core


套件2：@babel/preset-env


压缩html：gulp-htmlmin


服务器插件：gulp-webserver
...]]></description><category></category></item><item><title><![CDATA[小白也能快速上手gulp]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/105083576</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/105083576</guid><author>ephemeral0</author><pubDate>Tue, 24 Mar 2020 22:55:01 +0800</pubDate><description><![CDATA[1.gulp的介绍
 前端自动化构建工具
自动化构建：工程化，将文件的压缩，编译，各种处理，流程化，形成流水线似的环节
gulp是基于node环境
其实本质上gulp就是node的第三方模块
2.gulp的使用
安装：


安装全局gulp：npm i gulp -g


在磁盘上创建新文件夹，用来表示当前项目目录
建议：路径不要太深，不要出现中文，至少不要出现特殊字符，不允许使用gulp作为文件...]]></description><category></category></item><item><title><![CDATA[一文学会使用node自带的npm工具]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/105083424</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/105083424</guid><author>ephemeral0</author><pubDate>Tue, 24 Mar 2020 22:39:25 +0800</pubDate><description><![CDATA[node的模块中，有第三方模块，第三方模块的使用，需要先下载，怎么下载？看完这一篇 足够学会使用npm
 node安装之后，会自带一个npm的下载工具，专门用来下载node的第三方模块，或一些其他工具
npm其实是一种 包 管理器
1.npm可以怎么用：
查看版本号
npm -v
初始化项目，创建项目的配置信息，列出当前项目中所有使用的包和其他信息
npm init -y
下载：
npm inst...]]></description><category></category></item><item><title><![CDATA[xhr 详解]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/105036010</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/105036010</guid><author>ephemeral0</author><pubDate>Sun, 22 Mar 2020 21:35:01 +0800</pubDate><description><![CDATA[XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用；但是，我们仍然 很有必要理解这个对象的详细工作机制。
一、 引言
异步JavaScript与XML(AJAX) 是一个专用术语，用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于，它向开发者提供...]]></description><category></category></item><item><title><![CDATA[jQuery的DOM操作]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104979583</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104979583</guid><author>ephemeral0</author><pubDate>Thu, 19 Mar 2020 23:14:20 +0800</pubDate><description><![CDATA[jQuery的元素操作
1 创建元素

2 内部插入元素

3 外部插入元素

4 替换元素

5 删除元素

6 克隆元素

jQuery的元素尺寸
1 操作元素的宽和高

2 获取元素的内置宽和高

3 获取元素的外置宽和高

jQuery的元素位置
1 元素相对页面的位置

2 元素相对父级元素的偏移量

3 获取页面卷去的宽度高度


...]]></description><category></category></item><item><title><![CDATA[jQuery的事件操作]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104979413</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104979413</guid><author>ephemeral0</author><pubDate>Thu, 19 Mar 2020 23:08:41 +0800</pubDate><description><![CDATA[jQuery的绑定事件
1. 绑定事件 — on()方法

2. 移除事件 — off()方法
绑定的和删除的必须是同一个函数
3. 只执行一次的事件 — one()方法

4. 直接触发事件 — trigger()方法

jQuery可以直接使用的事件
可以直接使用的事件
也就是不需要on()方法绑定,就可以直接执行的事件
1. click事件
2. dblclick事件

3. scroll事...]]></description><category></category></item><item><title><![CDATA[快速学会jquery的基础使用]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104954197</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104954197</guid><author>ephemeral0</author><pubDate>Wed, 18 Mar 2020 21:48:58 +0800</pubDate><description><![CDATA[jQuery的选择器

选择器 — 用来获取DOM元素的方法

Id选择器		 $("#box");
Class选择器		 $(".box");
标签选择器		 $(“span”);
包含选择器		 $("#box p");
子选择器		 $("#box&gt;p");
群组选择器		 $("#box,.cont,p");
属性选择器		 $(“input[type=button]”);

特殊选...]]></description><category></category></item><item><title><![CDATA[快速了解set与map]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104953853</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104953853</guid><author>ephemeral0</author><pubDate>Wed, 18 Mar 2020 21:25:02 +0800</pubDate><description><![CDATA[首先，Map 和 Set 是 ES6 新增的两个数据类型，他们都是属于内置构造函数，并且都使用 new 的方式来实例化使用，那么接下来让我们分别来看下他们。 
1、 Set的概念和声明

 Set是一种数据的集合，类似数组，使用内置构造函数方式声明



 在创建Set结构时，可以立即设置内容，但Set必须接受数组作为参数


2 、Set的常用属性和方法
size  属性          获...]]></description><category></category></item><item><title><![CDATA[闭包的一些介绍]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104905830</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104905830</guid><author>ephemeral0</author><pubDate>Mon, 16 Mar 2020 19:13:43 +0800</pubDate><description><![CDATA[1、 闭包的定义
是JavaScript中,函数的一种高级应用方式

2 、重新认识函数

函数的执行空间


3 闭包的总结
1 有一个函数A , 在函数A内部返回一个函数B

2 在函数B 中访问函数A 的私有作用域变量

3 在函数A 外部,有变量引用函数B

以上三条,缺一不可
4 闭包的特点
既是优点,同时也是缺点
1 作用域空间不销毁
2 可以通过闭包语法,从外部访问函数内部变量
3 ...]]></description><category></category></item><item><title><![CDATA[简单一文让你认识有关继承]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104905631</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104905631</guid><author>ephemeral0</author><pubDate>Mon, 16 Mar 2020 18:59:56 +0800</pubDate><description><![CDATA[1、 什么是继承
1、继承是与 构造函数 相关的应用
2、是指，让一个构造函数去继承另一个构造函数的属性和方法
3、继承是发生在两个构造函数之间的

1 两个构造函数之间
2 子级继承父级
3 继承的是父级的属性和方法

2 ES5 之继承的常见方法
1、原型继承

原型继承1



原型继承2


2、借用构造函数继承


借助构造函数继承 – 多继承



3、组合继承

ES6 class继...]]></description><category></category></item><item><title><![CDATA[一文教你看懂原型！！！]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104901024</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104901024</guid><author>ephemeral0</author><pubDate>Mon, 16 Mar 2020 17:12:27 +0800</pubDate><description><![CDATA[谈到原型，我们都知道最重要的两个属性就是__proto__和prototype，那么他们到底有什么关系又到底是什么呢，这一篇看完相信你就会有一些理解了。

1 对象的__proto__是什么
js中万物皆对象，每个数据都会有一个__proto__的属性，这个属性叫隐式原型。
一个对象(obj)的 隐式原型(proto) 指向构造该对象(obj)的 构造函数(Object())的原型属性(Objec...]]></description><category></category></item><item><title><![CDATA[原来js实现的放大镜效果要这么做，购物商城可使用噢]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104882432</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104882432</guid><author>ephemeral0</author><pubDate>Sun, 15 Mar 2020 17:48:37 +0800</pubDate><description><![CDATA[话不多说，直接看源码
css部分
.s_box{width:400px;height: 300px;position: absolute;left: 50px;top:100px;}
    .s_box img{width: 400px;height: 300px;}
    .s_box span{width: 130px;height: 100px;background: rgba(200,...]]></description><category></category></item><item><title><![CDATA[回调地狱的解决方式]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104882291</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104882291</guid><author>ephemeral0</author><pubDate>Sun, 15 Mar 2020 17:40:38 +0800</pubDate><description><![CDATA[在js新版本出现之前，回调地狱自身就是解决方式
新版本出现之后，在新的语法中，提供了一些更优雅的处理方案
1.Promise（ES6）

原理：

Promise承诺，异步
正在执行时…异步过程
成功
失败
成功或失败虽然是将来才会发生，但是在承诺开始的时刻，就需要提前预置
发生了成功，必然不会执行失败
发生了失败，必然不会执行成功

语法：(语言的法律法规，固定！！！！！)

Promise是一...]]></description><category></category></item><item><title><![CDATA[用js模拟下拉框]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104882130</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104882130</guid><author>ephemeral0</author><pubDate>Sun, 15 Mar 2020 17:32:37 +0800</pubDate><description><![CDATA[虽然在我们的 html 中有下拉框这一选项，但是很多时候我们不嫩直接引用，因此今天就来模拟一个下拉框，直接来看代码吧
css部分
&lt;style type="text/css"&gt;
			.box{width:200px;height:30px;line-height: 30px;margin: 20px auto;}
			.box span{display: block;width: ...]]></description><category></category></item><item><title><![CDATA[原生js实现的金山打字小游戏]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104874219</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104874219</guid><author>ephemeral0</author><pubDate>Sun, 15 Mar 2020 10:28:49 +0800</pubDate><description><![CDATA[首先先来看一下效果图

如果感兴趣的就来看一下Js源码吧
//计分板
var board = {
  dom: document.getElementById("score"),
  maxLost: 3, //最大丢失量
  lost: 0, //当前丢失了多少个
  score: 0, //当前分数
  render: function() {
    //显示
    this.dom.in...]]></description><category></category></item><item><title><![CDATA[ajax之promise的函数封装]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104852344</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104852344</guid><author>ephemeral0</author><pubDate>Fri, 13 Mar 2020 23:34:06 +0800</pubDate><description><![CDATA[function ajax(ops){
    // 先处理默认属性
    ops.type = ops.type || "get";
    ops.data = ops.data || "";
    var str = "";
    for(var key in ops.data){
        str += `${key}=${ops.data[key]}$`
    }
    ...]]></description><category></category></item><item><title><![CDATA[ajax中get和post的封装]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104808803</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104808803</guid><author>ephemeral0</author><pubDate>Wed, 11 Mar 2020 23:28:24 +0800</pubDate><description><![CDATA[在使用ajax处理数据时，我们最常用的就是post和get，这里就进行一个简单的封装，以便使用，代码如下：
function ajax(ops){
    // 先处理默认属性
    ops.type = ops.type || "get";
    ops.data = ops.data || "";
    // 根据当前的请求方式，决定是否需要拼接数据，处理url
    ops.url ...]]></description><category></category></item><item><title><![CDATA[轻松了解ajax]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104808357</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104808357</guid><author>ephemeral0</author><pubDate>Wed, 11 Mar 2020 23:24:57 +0800</pubDate><description><![CDATA[一、了解 Ajax
什么是 ajax ？
ajax是前后端交互的重要手段
全称：Asynchronous JavaScript and XML
是一些技术的组合体
a：异步
j：js
a：and
x：数据
ajax 的特点
1、不需要插件的支持，原生 js 就可以使用
2、用户体验好（不需要刷新页面就可以更新数据）
3、减轻服务端和带宽的负担
4、缺点： 搜索引擎的支持度不够，因为数据都不在页面上...]]></description><category></category></item><item><title><![CDATA[快速解决函数频繁执行----函数的防抖和节流]]></title><link>https://blog.youkuaiyun.com/ephemeral0/article/details/104759247</link><guid>https://blog.youkuaiyun.com/ephemeral0/article/details/104759247</guid><author>ephemeral0</author><pubDate>Mon, 09 Mar 2020 20:54:10 +0800</pubDate><description><![CDATA[在前端开发的过程中，相信你一定遇到这种情况：自己设定的事件频繁的执行，体验感极差，添加延时器虽然对有些情况能改善，但作用不大，不仅用户体验感差，性能也很不好，对浏览器增加了极大负担。这种情况该怎么解决呢？对啦，debounce（防抖）和throttle（节流）就是比较好的解决方案。
首先让我们先来了解一下函数的防抖和节流是什么吧
函数防抖
当持续触发事件时，一定时间段内没有再触发事件，事件处理函数...]]></description><category></category></item></channel></rss>