JavaScript
JavaScript copied to clipboard
javaScript 的学习文档
模拟 New 操作符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例 创建一个空的简单 JavaScript 对象(即 {}); 连接该对象(即设置该对象的构造函数)到另一个对象 ; 将步骤1新创建的对象作为this的上下文 ; 如果该函数没有返回对象,则返回this。 用法实例讲解 当构造函数没有返回值时: function Animal (name, age) { this.name = name; this.age = age; this.speak = '汪汪'...
## 开头 一个项目,一个复杂的逻辑,我觉得状态管理显得尤为的重要,状态管理的好不好,直接体现了一个项目的逻辑性、可读性、维护性等是否清晰,易读,和高效。 从最早的类组件使用 this.state, this.setState 去管理状态,到 redux , subscribe, dispatch 的发布订阅,redux 的使用就面临重复和沉重的的 reducer,让我俨然变成了 Ctrl CV 工程师。于是后面接触 [dva](https://dvajs.com/guide/#特性),它是一个基于 [redux](https://github.com/reduxjs/redux) 和 [redux-saga](https://github.com/redux-saga/redux-saga) 的数据流方案。通过 model 来分片管理全局状态,使用 connect 方法去给需要的深层次的组件传递状态。 到后面 react hooks 出来之后,业界也出了很多自身管理状态的,基于...
## useState 解析 ### useState 使用 通常我们这样来使用 useState 方法 ```javascript function App() { const [num, setNum] = useState(0); const add = () => { setNum(num + 1); }; return (...
## useState 模拟解析 ### useState 使用 通常我们这样来使用 useState 方法 ```javascript function App() { const [num, setNum] = useState(0); const add = () => { setNum(num + 1); }; return (...
Git版本管理以及、github和码云仓库的应用 **1.如何查看git操作?** 答:.git文件中会记录每次用户的每次操作,可以通过cat .git/config查看配置 **2.Git基本配置** (1)配置用户基本信息: $git config --global user.name zouxiaomingya $git config --global user.eamil [email protected] (2)配置行尾及颜色: $git config --global core.autocrlf true $git config --global core.autocrlf input $git config --global...
## 什么是 useState ? 首先 useState 是一个Hook,它允许您将React状态添加到功能组件 useState 是一个方法,它本身是无法存储状态的 其次,他运行在 FunctionalComponent 里面,本身也是无法保存状态的 useState 只接收一个参数 inital value,并看不出有什么特殊的地方。 ## 为什么要 useState? > 因为类组件有很多的痛点 1. 很难复用逻辑(只能用HOC,或者render props),会导致组件树层级很深 2. 会产生巨大的组件(指很多代码必须写在类里面) 3. 类组件很难理解,比如方法需要`bind`,`this`指向不明确 比如 经常看到这样的写法。...
### 弹性盒布局 / 弹性盒模型 / flex 布局 ... 弹性盒的作用: 解决元素的排列问题(移动端或者流式布局)排排坐吃果果。 弹性盒的兼容问题: 1. 弹性盒子在IE中有一小部分的兼容不同,在其他浏览器也是如此,需要加上前缀 2. 弹性盒有两个版本display:box; display:flex; 有的浏览器只支持box版本,开发新版本之后利用autoprefixer工具来处理兼容。 > 注意,使用了弹性盒子之后,盒模型就变成了弹性盒模型了,就和标准盒模型有很多区别了,又成一个体系。 #### 弹性盒语法学习 > [参考文献](https://blog.csdn.net/whqet/article/details/45154977) 下图是弹性盒模型的图片  因为我们要解决的是子元素在父元素中的排列问题,所以弹性盒使用的第一步就是为父元素添加 display:flex; 属性,添加之后,父元素就变成弹性父元素,里面的子元素变成了弹性子元素(跟后代无关), 而且弹性子元素还可以添加 display:flex变成弹性父元素...
## Axios 源码解读 ### Axios 是什么? Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 ### Axios 功能 - 从浏览器中创建 [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) - 从 node.js 创建 [http](http://nodejs.org/api/http.html) 请求 - 支持 [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API...
### 写在前面 > 用最基础的方法讲解 Redux 实现原理?说白了其实是我能力有限,只能用最基础的方法来讲解,为了讲的更加清楚,文章可能比较拖沓。不过我相信,不是很了解 Redux 的同学,看完我今天分享的文章一定会有所收获! ### 什么是 Redux ? > 这不是我今天要说的重点,想知道什么是 Redux [点击传送门](https://www.redux.org.cn/docs/introduction/Motivation.html) ### 开始 > 在开始之前我想先讲一种常用的设计模式:观察者模式。先来说一下我对`观察者模式`的个人理解:观察者模式(Publish/Subscribe)模式。对于这种模式很清楚的同学下面这段代码可以跳过。如果你还不清楚,你可以试着手敲一遍下面的代码!! ### 观察者模式 观察者模式,基于一个主题/事件通道,希望接收通知的对象(称为subscriber)通过自定义事件订 阅主题,通过deliver发布主题事件的方式被通知。就和用户订阅微信公众号道理一样,只要发布,用户就能接收到最新的内容。 ```javaScript /** * describe: 实现一个观察者模式 */...
#### 简介 [Fetch API](https://link.jianshu.com/?t=https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) 提供了一个 JavaScript接口,用于访问和操纵 HTTP 管道的部分,例如请求和响应。它还提供了一个全局 [fetch()](https://link.jianshu.com/?t=https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalFetch/fetch)方法,该方法提供了一种简单,合乎逻辑的方式来跨网络异步获取资源。 `fetch()` 必须接受一个参数---路径。无论请求成功与否,它都返回一个 Promise 对象,resolve 对应请求的 [`Response`](https://developer.mozilla.org/zh-CN/docs/Web/API/Response)。另外你还可以设置第二个参数(可选的参数)[options](#配置)(常用配置如下,具体详情参见 [`Request`](https://developer.mozilla.org/zh-CN/docs/Web/API/Request))。 #### 配置 ```js options={ // 请求方式 GET,POST,等 method: "GET", // 请求头headers headers: { Accept:...