<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DingDing_Zhang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DingDing_Zhang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DingDing_Zhang]]></copyright><item><title><![CDATA[node与API]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/114490708</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/114490708</guid><author>DingDing_Zhang</author><pubDate>Thu, 18 Mar 2021 15:04:46 +0800</pubDate><description><![CDATA[node








模块化
所有的js文件本身就是一个模块，不需要重新定义


JS只能运行在客户端（浏览器）script
commonJS规范 不仅仅让JS运行在客户端，还要运行在服务器端

前端webpack也引用commonJS规范


commonJS 规范是理论基础
webpack 和 nodeJS 是实践产出

一个模块只能暴露一个接口

一个模块同时暴露多个接口

url.parse()


node.js的API文档
querystring

将对象转为字符串

querystring]]></description><category></category></item><item><title><![CDATA[React组件数据交互载体- state状态]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108671690</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108671690</guid><author>DingDing_Zhang</author><pubDate>Mon, 21 Sep 2020 14:31:31 +0800</pubDate><description><![CDATA[state状态

是 react 组件数据交互的载体
state 状态是用来修改的
this.state 获取 state
this.setState() 用来修改state
state 不能在组件外部定义、及修改，只能在组件内部定义声明、及修改
state修改，setState这个方法会修改state，且会重新执行组件内部的render方法，会触发页面的二次渲染，虚拟DOM会根据react的 diff 算法，得到新的虚拟DOM，最后再批量的更新

定义state的方式一

定义state的方法二

sta]]></description><category></category></item><item><title><![CDATA[React数据传递载体- props属性]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108656528</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108656528</guid><author>DingDing_Zhang</author><pubDate>Fri, 18 Sep 2020 19:25:02 +0800</pubDate><description><![CDATA[React数据传递载体

props 属性
state 状态
context 组件之间数据交互

props

]]></description><category></category></item><item><title><![CDATA[React组件书写事件]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108654115</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108654115</guid><author>DingDing_Zhang</author><pubDate>Fri, 18 Sep 2020 00:26:04 +0800</pubDate><description><![CDATA[绑定事件

全局变量 / 外部函数  ------  1%
组件内部自定义函数  ------  99%
原型链挂载 ------ 0%

全局变量 / 外部函数
// 绑定事件
// 1. 全局变量 / 外部函数   1%

import React,{Component} from "react"

// 全局变量，是一个对象，也是一个函数
const actions = { 
    fnA(e){
        console.log('wuhan2004 - 必胜')
        conso]]></description><category></category></item><item><title><![CDATA[React样式]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108651968</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108651968</guid><author>DingDing_Zhang</author><pubDate>Thu, 17 Sep 2020 21:11:39 +0800</pubDate><description><![CDATA[基于class，但是react必须用className代替class
基于内联样式style，style = { }  遵循“驼峰命名法”
lineHeight:"20px"  必须带单位
style = { backgroundColor:"red",fontSize:20 } 不带单位



]]></description><category></category></item><item><title><![CDATA[React组件]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108645264</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/108645264</guid><author>DingDing_Zhang</author><pubDate>Thu, 17 Sep 2020 19:53:44 +0800</pubDate><description><![CDATA[React组件

组件的三种写法


改变state值

v-if 和 v-for 的底层写法


]]></description><category></category></item><item><title><![CDATA[TOOL-git&gulp]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107797949</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107797949</guid><author>DingDing_Zhang</author><pubDate>Tue, 04 Aug 2020 20:28:37 +0800</pubDate><description><![CDATA[1.GIT&amp;SVN的基本介绍
GIT
Git是一个开源的分布式版本控制系统，可以有效、高速地处理从很小到非常大的项目版本管理
SVN
SVN是subversion的缩写，是一个开放源代码的版本控制系统（集中式的版本控制系统），通过采用分支管理系统的高效管理，简而言之就是用于多个人共同开发同一个项目，实现共享资源，实现最终集中式的管理。可以去到任何一个版本
GIT和SVN的区别
GIT对比SVN
2.gitbash的安装和使用
3.生成密钥和公钥
生产公钥

4.码云和github的使用
5.git常]]></description><category></category></item><item><title><![CDATA[module&sass]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107776269</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107776269</guid><author>DingDing_Zhang</author><pubDate>Mon, 03 Aug 2020 23:43:17 +0800</pubDate><description><![CDATA[1.模块化概念
模块化是一个语言膨胀的必经之路，它能够帮助开发者拆分和组织代码
无模块化
JavaScript初衷：实现简单的页面交互逻辑，寥寥数语即可。随着web2.0时代的到来，Ajax技术得到广泛应用，jQuery等前端库层出不穷，前端代码日益膨胀。这时候JavaScript作为嵌入式的脚本语言的定位动摇了，JavaScript却没有为组织代码提供任何明显帮助，甚至没有类的概念，JavaScript极其简单的代码组织规范不足以驾驭如此庞大规模的代码
&lt;script src="jquery.js"]]></description><category></category></item><item><title><![CDATA[EventLoop]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107776209</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107776209</guid><author>DingDing_Zhang</author><pubDate>Mon, 03 Aug 2020 23:39:58 +0800</pubDate><description><![CDATA[一.任务队列

JS的执行我们可以看成是任务队列，所有的操作以任务的形式出现在任务队列中
任务一共包括两种，分别是同步任务和异步任务

不管是同步还是异步，JS都会按顺序执行，只是不等待异步的执行结果



同步任务
除异步任务外的任务我们称之为同步任务，同步任务按顺序执行，没有优先级
异步任务
异步任务包含微任务（microtask）和宏任务（macrotask），有优先级之分，先执行微任务，后执行宏任务

微任务：promise async await
宏任务：setTimeout setInterva]]></description><category></category></item><item><title><![CDATA[面向对象拓展]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750859</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750859</guid><author>DingDing_Zhang</author><pubDate>Sun, 02 Aug 2020 20:47:58 +0800</pubDate><description><![CDATA[1.call、apply、bind
函数的三个原型方法都可以修改函数内部this的指向

call：修改函数this的指向，直接调用函数，call方法的参数列表是普通参数列表
apply：修改函数this的指向，直接调用函数，apply方法的参数列表是参数列表组成的数组（可以将数组变成实参列表）
bind：修改函数this的指向，不可以直接调用函数，返回一个修改后的函数

function fn(x, y) {
    console.log(x + y)
}
fn(2, 3);              ]]></description><category></category></item><item><title><![CDATA[面向对象]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750844</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750844</guid><author>DingDing_Zhang</author><pubDate>Sun, 02 Aug 2020 20:47:25 +0800</pubDate><description><![CDATA[1.OOP
面向对象编程(Object Oriented Programming，缩写为OOP)是目前主流的编程范式。它的核心思想是将真实世界中各种复杂的关系，抽象为一个个对象，然后由对象之间的分工与合作，完成对真实世界的模拟

面向对象编程的基本特点是：封装，继承，多态


封装：封装的过程就是把一些属性和方法放到对象中“包裹”起来
继承：继承，简单的说就是可以从父级那里获取到共有的属性和方法
多态：同一操作作用于不同的对象，可以有不同的解释，产生不同的执行结果，由于弱类型的特点，JS自带多态，或者说不需]]></description><category></category></item><item><title><![CDATA[JavaScript 面向对象基础]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750632</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107750632</guid><author>DingDing_Zhang</author><pubDate>Sun, 02 Aug 2020 20:46:01 +0800</pubDate><description><![CDATA[JavaScript 面向对象基础

了解面向对象
面向对象

面: 脸
向: 朝着
对象: 我们 JS 的数据类型
脸朝着我们 JS 的数据类型
学名: 关注对象的形式进行开发
面向对象核心: 对面向过程的高度封装, 高内聚低耦合
面向对象不是一个语法或者方法, 而是一个编程思想，是一个你怎么写代码
也就是你怎么写代码, 怎么完成功能的一个思想

面向过程

关注过程的开发, 我们以前写的选项卡, 九宫格, 轮播图都是面向过程的开发

我要关注里面的每一个步骤
获取哪些元素
设置哪些元素
先执行什么后执行]]></description><category></category></item><item><title><![CDATA[JavaScript ES6语法]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107738012</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107738012</guid><author>DingDing_Zhang</author><pubDate>Sat, 01 Aug 2020 22:35:51 +0800</pubDate><description><![CDATA[JavaScript ES6

是一个官方发布的语法版本，ECMAScript2015，里面定义了新的语法规范


定义变量


定义函数


对象赋值


字符串


新增数据类型


…


出现的问题：不兼容，不用我们考虑，因为后期会学习一些把 ES6 的语法转换成 ES5 的语法 工具



let / const 统一和 var 定义变量的区别


在 ES6 里面，有两个定义变量的关键字

let：变量
const：常量（特殊的变量）



区别


var 会进行预解析

let 和 cons]]></description><category></category></item><item><title><![CDATA[JSONP&Promise]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107700130</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107700130</guid><author>DingDing_Zhang</author><pubDate>Thu, 30 Jul 2020 20:32:42 +0800</pubDate><description><![CDATA[ECMA-JSONP&amp;Promise
1.JS跨文件访问【需求决定需要跨域】
根据JS的引入顺序，后引入的JS可以访问先引入JS内声明的全局变量或者函数
&lt;!-- html文件 --&gt;
&lt;script src="a.js"&gt;&lt;/script&gt;
&lt;script src="a.js"&gt;&lt;/script&gt;

&lt;!-- a.js文件 --&gt;
var num = 10;
function fn(){
    console.log(666]]></description><category></category></item><item><title><![CDATA[AJAX&COOKIE]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107700069</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107700069</guid><author>DingDing_Zhang</author><pubDate>Thu, 30 Jul 2020 20:30:29 +0800</pubDate><description><![CDATA[3.POST请求
var xhr = new XMLHttpRequest();
xhr.open('post', '路径', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');  // 设置请求头
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 &amp;&amp; xhr.status == 200) {
 ]]></description><category></category></item><item><title><![CDATA[AJAX]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107699967</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107699967</guid><author>DingDing_Zhang</author><pubDate>Thu, 30 Jul 2020 20:27:50 +0800</pubDate><description><![CDATA[1.对象
// 实例化构造函数创建对象
var obj = new Object();
obj.name = '张三';      // 添加属性
obj.age = 18;
// 字面量创建对象
var obj = {
    name: '张三',
    age: 18
};
// 通过.访问成员变量
console.log(obj.name);          // 张三
// 通过[]访问成员变量
console.log(obj['name']);       // 张三


.和[]的最大区别]]></description><category></category></item><item><title><![CDATA[PHP&MYSQL]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107621259</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107621259</guid><author>DingDing_Zhang</author><pubDate>Mon, 27 Jul 2020 21:02:34 +0800</pubDate><description><![CDATA[1.PHP简介
什么是PHP
PHP即超文本预处理器(PHP: Hypertext Preprocessor)，是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言。JS是在浏览器端执行的脚本语言。
什么是PHP文件
PHP文件能够包含文本、HTML、CSS以及PHP代码，PHP代码在服务器上执行，而结果以纯文本返回给浏览器，PHP文件的后缀是.php
PHP能够做什么

PHP能够生成动态页面内容
PHP能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP能够接收表单数据
PHP能够发送并取]]></description><category></category></item><item><title><![CDATA[JavaScript this指向]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107391956</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107391956</guid><author>DingDing_Zhang</author><pubDate>Thu, 16 Jul 2020 20:00:08 +0800</pubDate><description><![CDATA[JavaScript this指向
一、回顾作用域
1、什么是作用域

一个变量可以使用的范围

2、作用域分类

全局作用域：一个 html 页面就是一个全局作用域
局部作用域（私有作用域）：只有函数生成私有作用域

3、作用域的上下级关系

写在哪个作用域里面的私有作用域，就是哪个作用域的子级作用域

this 指向（重点）
一、定义：this 是一个使用在作用域里面的关键字

作用域里面：要么写在全局，要么写在函数里面
是个关键字：定义变量的时候，不能用 var this，不需要定义，直接使用就可以了]]></description><category></category></item><item><title><![CDATA[JavaScript正则]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107390484</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107390484</guid><author>DingDing_Zhang</author><pubDate>Thu, 16 Jul 2020 18:58:07 +0800</pubDate><description><![CDATA[JavaScript 正则
了解正则

正则表达式也叫作规则表达式
就是我们自己按照语法书写一套规则
用来检测字符串是不是符合规则的
从字符串里面捕获出来一部分符合规则的内容
正则表达式作用于字符串查找、替换、检测等等操作

正则的用处

正则表达式用来检测字符串
至于你的字符串是不是从表单里面获取出来的无所谓
我们大部分的时候，是使用正则检测表单里面获取的字符串

复杂数据类型

Function  函数
Object      对象
Array        数组
Date         时间
Reg]]></description><category></category></item><item><title><![CDATA[JavaScript 事件]]></title><link>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107309835</link><guid>https://blog.youkuaiyun.com/DingDing_Zhang/article/details/107309835</guid><author>DingDing_Zhang</author><pubDate>Mon, 13 Jul 2020 08:58:20 +0800</pubDate><description><![CDATA[JavaScript 事件
事件三要素

事件源：绑定在谁身上的时间（和谁约定好）
事件类型：绑定一个什么事件
事件处理函数：当行为发生的时候，要执行哪一个函数

&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-width, initial-scale=1.0"&gt;
  &lt;]]></description><category></category></item></channel></rss>