SkioFox Blog

Thinking will not overcome fear but action will.

排列算法

排列算法

排序对比 冒泡排序(Bubble Sort) 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。时间复杂度O(N^2) // 方法1:暴力循环,每次循环找到一个最大或者最小值 function b...

数组去重

数组去重

数组中NaN和{}的去重很难进行判断,可以单独处理或者使用下面的hasOwnProperty方法 利用ES6 Set去重 function unique (arr) { return Array.from(new Set(arr)) // 更简练的写法 // return [...new Set(arr)] ...

react hooks使用

react hooks使用

Hooks是React16.8一个新增项,是我们可以不用创建class组件就能使用状态和其他React特性 状态钩子 State Hook 创建HooksTest.js import React, { useState } from "react"; export default function HooksTest() { // useState(initi...

ajax与jquery与axios的封装

ajax与jquery与axios的封装

原生ajax ajax返回的状态 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了 原生ajax封装 function ajax(type,url,o...

react VS vue

react VS vue

react和vue都是MVVM框架,由数据驱动视图的方式,摆脱了以往的以事件驱动的架构。在vue中实现了双向数据绑定(数据和视图会互相影响变化)和单向的数据流。而react中只有单向的数据流,当然react也可以实现数据和视图的双向绑定。可以认为react只是单纯的view层实现,双向绑定是视图外的业务需求。 react react是一个简单构建web UI的库,核心AP...

JS中的Object对象

JS中的Object对象

浅拷贝 深拷贝 ES5 常用克隆对象方法 数组和普通对象的克隆 // 只能实现数组或者普通对象的克隆,不能实现包装对象Number,String,Boolean,以及正则对象RegExp和Date对象的克隆, function deepClone(obj){ // 判断是数组还是对象 ...

进程和线程

理解进程和线程

进程 一个程序就是操作系统的一个进程,英文名叫做 Process,一个进程下可以有很多线程。 线程 线程,英文名叫做 Thread,是 Java 程序执行的发动机。就是线程运行着我们的代码 线程其实就是执行一个入口方法,执行完毕就结束了。比如我们之前写的程序,都是使用一个线程执行 main 方法,执行完毕后,线程就结束了 线程在执行方法的时候,每次遇到方法调用,...

react组件封装

react组件封装

基于antd的form的封装 通过props传递数据和方法,将数据在父子之间传递,子组件中通过对数据的获取和类型判断动态生成formItem项,实现form的封装 import React from 'react' import { Input, Select, Form, Button, Checkbox, Radio, DatePicker} from 'antd' ...

react-redux原理

react-redux原理

react-redux原理 使用 react-redux 的使用分为两步,第一步是使用 Provider 在顶层创建一个 Root 节点,将创建的 store 作为 Provider 的 props 传入 在需要使用 store 的页面,使用 connect 将组件与 store 建立连接关系,需要用到的值通过 mapStateToProps 传入对应...

Redux原理

Redux原理

Redux源码解读 Redux是出了名的短小精悍且没有任何依赖。所有的非核心逻辑都交给了中间件去处理,自己保持着很好的独立性。 index.js是redux的入口函数 import createStore from './createStore' import combineReducers from './combineReducers' import b...