<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wu12378900的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wu12378900</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wu12378900]]></copyright><item><title><![CDATA[【JavaScript】第二十六天 （节流）（防抖）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123329498</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123329498</guid><author>wu12378900</author><pubDate>Mon, 07 Mar 2022 14:58:26 +0800</pubDate><description><![CDATA[函数节流和防抖
函数防抖和节流，都是控制事件触发频率的方法。应用场景有很多，输入框持续输入，将输入内容远程校验，多次触发点击事件、onScroll等等。
一、节流
什么是节流？
限制一个函数在一定时间内只能执行一次。
为什么节流？
前端开发过程中，有一些事件或者函数，会被频繁地触发（短时间按内多次触发），最常见的例如，onresize，scroll，mousemove ,mousehover 等，这些事件的触发频率很高，不做限制的话，有可能一秒之内执行几十次、几百次，如果在这些函数内部执行了其他函数，尤其是]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十五天 （闭包）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123283399</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123283399</guid><author>wu12378900</author><pubDate>Fri, 04 Mar 2022 19:49:44 +0800</pubDate><description><![CDATA[闭包
一、函数复习
1.1函数的定义和调用
1.1.1 函数的定义方式
方式1： 函数声明方式  function fn(){}
方式2： 函数表达式（匿名函数）  var fn = function(){}
方式3：new Function()  var fn = new Function (‘参数1’,‘参数2’…,‘函数体’)
● 注意 Function 里面参数都必须是字符串格式
● 第三种方式执行效率低，也不方便书写，因此较少使用
● 所有函数都是 Function 的实例(对象)
● 函数也属于]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十四天 （原型和原型链）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123260162</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123260162</guid><author>wu12378900</author><pubDate>Thu, 03 Mar 2022 19:53:59 +0800</pubDate><description><![CDATA[原型和原型链
一、构造函数和原型
1.1构造函数的问题
通过构造函数实例化对象虽然很好用，但是他也存在一些问题，首先一个就是内存浪费的问题。
下面我们来看一个例子

我们可以 给函数的原型添加函数，这样的话，函数所有的实例化对象都可以使用这个函数，大大减少函数重复占用内存。
1.2 构造函数原型prototype
获取原型的方法：
1.通过对象__proto__来获取
2.通过构造函数的prototype属性来拿到原型
构造函数通过原型分配的函数是所有对象所共享的
javascript 规定，每一个构造函数]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十三天 (jQuery)]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123181937</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123181937</guid><author>wu12378900</author><pubDate>Wed, 02 Mar 2022 20:03:59 +0800</pubDate><description><![CDATA[jquery
1.1jQuey介绍
1.1.1javascript库
javaScript库：即 library ，是一个封装好的特定集合（方法和函数）。从封装一大堆函数的角度理解库，就是在这个库中，封装了很多预先定义好的函数在里面，比如动画animate、hide、show，比如获取元素等。
简单理解：就是一个JS文件，里面对我们原生js代码进行了封装，存放到里面。我们可以快速高效的使用这些封装好的功能了。
比如jQuery，就是为了快速方便的操作DOM，里面基本都是函数（方法）。
&nbsp;&nbsp]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十二天（JSONP）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123139464</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123139464</guid><author>wu12378900</author><pubDate>Fri, 25 Feb 2022 20:48:50 +0800</pubDate><description><![CDATA[JSONP
一、cookie封装
function getCookie(key) {
    // 获取所有的cookie  document.cookie
    let cookie = document.cookie;//"username=zhangsan; password=123456"
    let arr = cookie.split('; '); //['username=zhangsan','password=123456']
    // 遍历arr
    for (let i =]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十一天 （Cookie）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123134117</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123134117</guid><author>wu12378900</author><pubDate>Fri, 25 Feb 2022 17:53:06 +0800</pubDate><description><![CDATA[cookie
一、回调函数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个函数被作为参数传递给另一个函数，函数B作为函数A的参数，函数B在函数A内部调用，函数B称为函数A的回调函数。
语法：
function A(callback){
  callBack()
}
B也是一个函数
A(B)

语法一：

    function success(callback){
        callback()
    }

    success(function(){
      ]]></description><category></category></item><item><title><![CDATA[【JavaScript】第二十天（AJAX）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123122415</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123122415</guid><author>wu12378900</author><pubDate>Thu, 24 Feb 2022 22:28:07 +0800</pubDate><description><![CDATA[AJAX
一、ajax的概念和优势
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJAX（Asynchronous Javascript And XML）是异步的javascript和XML
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传统网站中，如果需要更新页面内容，必须重载整个网页页面。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ajax是可以在不刷新加载整个页面的情况下，对网页的某部分进行更新。
网站欣赏：

htt]]></description><category></category></item><item><title><![CDATA[【JavaScript】第十九天（PHP&MySql）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/123048754</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/123048754</guid><author>wu12378900</author><pubDate>Mon, 21 Feb 2022 17:48:41 +0800</pubDate><description><![CDATA[PHP语言
一、认识前后端
前端：用户可见的界面，数据展示在页面上给用户看到
后端：分为服务器端和数据库
服务器端：把前端要展示的数据存储到数据库中，前端需要时把数据库的数据再传递给前端（服务器端：我们学习php语言，php语言运行在apache服务器上）
数据库：一个存储数据的仓库（mysql），可以让后端进行数据的增删改查（mysql）

展示方面：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前端之间看到，布局，图文，交互和特效。
&nbsp;&nbsp;&nbsp;&nb]]></description><category></category></item><item><title><![CDATA[【JavaScript】第十八天（面向对象）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/122970057</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/122970057</guid><author>wu12378900</author><pubDate>Wed, 16 Feb 2022 20:37:41 +0800</pubDate><description><![CDATA[一、为什么要使用面向对象
1.现有的数据类型没法描述复杂的社会（复杂的数据），
如：医生，患者，老师，学生等等。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为，现实生活中每个数据都是复杂的（包括了很多数据）
如：医生包括（工号，年龄，性别，科室等等）
2.怎么办？用自定义类型来完成现实生活中的类型的定义。这就是类
二、基本概念：类和对象
1.类：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;就是分类，类型，数据类型，包括了很]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第十六天（ES5和ES6）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/122043944</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/122043944</guid><author>wu12378900</author><pubDate>Mon, 20 Dec 2021 21:01:50 +0800</pubDate><description><![CDATA[ES6语法
ES5和ES6
我们说的ES5和ES6其实就是在 js 语法的发展过程中的一个版本而已
ES5新增
一、数组的相关方法
1. 数组.forEach(function (item, index, arr) {})
2. 数组.map(function (item, index, arr) {})
3. 数组.filter(function (item, index, arr) {})
4. 数组.every(function (item, index, arr) {})
5. 数组.some(fu]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第十五天（正则表达式）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121995774</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121995774</guid><author>wu12378900</author><pubDate>Fri, 17 Dec 2021 15:01:47 +0800</pubDate><description><![CDATA[正则表达式
1.正则的概念：
用于匹配一个字符串满足某种规则（即正则表达式）
2.正则的创建：
var a = /abc/
var a = new RegExp('abc')

3.正则的元字符：

\d ： 表示一位数字
\D ：表示一位非数字
\w ：表示一位数字，字母下划线中的任意一个
\W ：表示一位非(数字，字母，下划线)中的任意一个
\s ：匹配空白字符（空格）
\S ： 非空白
. ：任意字符（非换行）
如果就指向匹配. 是true
\ . ：匹配 .
\ ：匹配 \

4.正则的限定符：

]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第十四天（事件传播、阻止事件冒泡、事件委托）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121973713</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121973713</guid><author>wu12378900</author><pubDate>Thu, 16 Dec 2021 15:11:59 +0800</pubDate><description><![CDATA[1.事件流（事件传播）
概念：
描述页面接收事件的顺序，事件发生时，事件会在元素节点之间按照特定的顺序，依次传播。
思考：
互相嵌套的div，同时给每个元素绑定了不同结果的相同事件，事件会如何传播
IE提出的是冒泡流：
事件开始时由最具体的元素接收，然后逐级向上到DOM顶级节点
网景提出的是捕获流：
事件开始时从DOM顶级节点开始，然后逐层向下传递到最具体的元素
W3C规范：
js事件传播流程主要有三个阶段：

事件捕获阶段：从window向 目标 传递的过程
处于目标阶段：具体点击的是谁？事件发生在目标身]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习十三天（DOM事件、事件类型、事件对象）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121951968</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121951968</guid><author>wu12378900</author><pubDate>Wed, 15 Dec 2021 16:20:01 +0800</pubDate><description><![CDATA[1.DOM事件
事件：能被javascript监听到的行为
事件三要素：

事件源：触发事件的源头，谁触发的这个事件
事件类型：是哪种时间类型，如：鼠标事件，键盘事件…（click、dblclick、mouseover、mouseout…）
事件处理函数：事件触发后执行的行为（{ }中会执行的代码）

this
事件中的this：指向事件源
普通函数中的this：指向的是window
//    1、形式一
        oBtn.onclick = function(){
        this指向的]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第十二天（DOM节点）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121929647</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121929647</guid><author>wu12378900</author><pubDate>Wed, 15 Dec 2021 14:23:35 +0800</pubDate><description><![CDATA[1.什么是DOM节点
DOM树：
DOM以树状结构出现的(倒立的树)，方便开发人员获取，添加，删除和修改页面上的某一部分

DOM节点：
w3c，页面上所有的内容都可以称为节点，DOM的最小单元就是节点
DOM节点的种类：
节点包含一共12种，本节课就认识5种节点

1.元素节点： 标签： nodeType 1
2.属性节点： 属性： nodeType 2
3.文本节点： 文本： nodeType 3
4.注释节点： 注释： nodeType 4
5.文档节点： 文档： nodeType 5

2.如何获取]]></description><category></category></item><item><title><![CDATA[【JavaScript】第十一天（DOM的深入操作）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121951213</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121951213</guid><author>wu12378900</author><pubDate>Wed, 15 Dec 2021 14:22:03 +0800</pubDate><description><![CDATA[1.DOM操作之innerHTML
//设置内容
//针对非表单控件
//支持标签。可以解析标签
tianIn.innerHTML//获取内容
tianIn.innerHTML = "&lt;b&gt;&lt;/b&gt;";//设置内容

//不支持标签，可以解析标签
tianIn.innerText//获取内容
tianIn.innerText = "";//设置内容

//针对表单控件
tianIn.value//获取内容
tianIn.value = "";//设置内容


2.DOM操作之自定义属]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第十天（BOM、DOM）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121860297</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121860297</guid><author>wu12378900</author><pubDate>Fri, 10 Dec 2021 19:58:52 +0800</pubDate><description><![CDATA[BOM / DOM（上）

今天我们开始使用 js 去操作浏览器和页面中的 html 元素了

BOM


BOM（Browser Object Model）:浏览器对象模型


其实就是操作浏览器的一些能力


我们可以操作哪些内容
1.获取一些浏览器的相关信息（窗口的大小）
2.操作浏览器进行页面跳转
3.获取当前浏览器地址栏信息
4.操作浏览器的滚动条
5.浏览器的信息（浏览器的版本）
6.让浏览器出现一个弹出框（alert/confirm/prompt）



BOM的核心就是 window 对象
]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第九天（Math对象、Date对象）（倒计时、计时器）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121842983</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121842983</guid><author>wu12378900</author><pubDate>Thu, 09 Dec 2021 21:13:04 +0800</pubDate><description><![CDATA[Math 和 Date

Math 是 js 的一个内置对象，提供了一堆的方法帮助我们操作 数字
Date 是 js 的一个内置对象，提供了一堆的方法帮助我们操作 时间

Math

没有什么多余的东西，就是一堆的方法来操作数字

random

Math.random() 这个方法是用来生成一个 0 ~ 1 之间的随机数
每次执行生成的数字都不一样，但是一定是 0 ~ 1 之间的
生成的数字包含 0 ，但是不包含 1

var num = Math.random()
console.log(num) //]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第八天（创建字符串）（ASCII字符集）（字符串常用的方法）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121841869</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121841869</guid><author>wu12378900</author><pubDate>Thu, 09 Dec 2021 19:59:35 +0800</pubDate><description><![CDATA[创建字符串（了解）

我们创建字符串也分为两种方法 字面量 和 构造函数
字面量：

var str = 'hello'


构造函数创建

var str = new String('hello')

ASCII 字符集（了解）

我们都知道，计算机只能存储 0101010 这样的二进制数字
那么我们的 a ~ z / A ~ Z / ``/ @ /… 之类的内容也有由二进制数字组成的
我们可以简单的理解为， a ~ z / A ~ Z / ``/ @ /… 之类的内容都有一个自己的编号，然后在计算机存储]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第七天（冒泡排序、选择排序）（基本数据类型、引用数据类型）]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121801856</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121801856</guid><author>wu12378900</author><pubDate>Thu, 09 Dec 2021 14:36:13 +0800</pubDate><description><![CDATA[for 和 for in 循环

因为数组的索引就可以获取数组中的内容
数组的索引有事按照 0 ~ n 顺序排序
我们就可以使用 for循环来循环数组，因为 for循环我们也可以设置值成 0 ~ n顺序增加
我们把这个行为叫做 遍历

var arr = [1,2,3,4,5]

//使用 for 循环遍历数组
for (var i = 0; i &lt; arr.length; i++){
    console.log(arr[i])
}

//会在控制台一次打印出 1,2,3,4,5


i &lt;]]></description><category></category></item><item><title><![CDATA[【JavaScript】学习第六天【数组及常用方法】]]></title><link>https://blog.youkuaiyun.com/wu12378900/article/details/121745922</link><guid>https://blog.youkuaiyun.com/wu12378900/article/details/121745922</guid><author>wu12378900</author><pubDate>Tue, 07 Dec 2021 15:29:15 +0800</pubDate><description><![CDATA[数组

什么是数组？
字面理解就是 数字的组合
其实不太准确，准确的来说数组是一个 数据的集合
也就是我们把一些数据放在一个盒子里面，按顺序排好


]]></description><category></category></item></channel></rss>