js递归

js递归调用 方法一: // 一个简单的阶乘函数 var f = function (x) { if (x 1) { return 1; } else { return x * f(x - 1); } }; Javascript中函数的巨大灵活性,导致在递归时使用函数名遇到困难,对于上面的变量式声明 ... »

命名函数表达式

一、定义函数的三种方法 1、函数声明 function 函数名称(参数:可选){/**函数体**/} 2、函数表达式(2种)也叫函数字面量 var f = function(){} //没有函数表示标识符 var f = function fun(){} //有函数表示符fun ,即命名函数表达式 ... »

react hooks子给父传值

子给父传值需要通过事件方法来传值,这里我们子组件是触发了一个点击事件传值: <Button onClick={()=>setshowregister(false)}>注册</Button> 然后我们需要把props解构: const {setshowregister} = props; 父组件中的子 ... »

e.target与e.currentTarget的区别

在DOM事件对象中有两个属性总是时不时的困扰我,就是target和currentTarget,有时候很迷惑分不清两者的区别,因此有必要把这两个属性好好梳理一下,加深理解,以便日后的查询。 MDN中对target的解释为,一个触发事件的对象的引用, 当事件处理程序在事件的冒泡或捕获阶段被调用时。 而对 ... »

使用json-server与Mockjs搭建模拟服务

为什么使用 在项目开发中,常常需要边写前端页面边写后端接口,但是后端接口服务往往是滞后于前端开发的,或者是不能及时提供的。出于前端开发的迅速和便捷去考虑,我们可以根据后端接口数据结构去模拟(mock)数据从而实现前端的独立开发。 JsonServer 主要的作用就是搭建本地的数据接口,创建json文 ... »

ES6语法--导入、导出

一、export 导出export default 是默认导出export const 是命名导出 module.exports与exports,export与export default之间的关系和区别Node应用由模块组成,采用CommonJS模块规范。根据这个规范,每个文件就是一个模块,有自己 ... »

react中控制元素的显示与隐藏

1.通过 state 变量来控制是否渲染元素 类似于 vue 的 v-if 方法是通过变量来控制是否加载元素的,如果变量为false,内容就直接不会渲染的。 class Demo extends React.Component{ constructor(props){ super(props); t ... »

react中dangerouslySetInnerHTML使用

在react中,通过富文本编辑器进行操作后的内容,会保留原有的标签样式,并不能正确展示。 在显示时,将内容写入__html对象中即可。具体如下: <div dangerouslySetInnerHTML = {{ __html: checkMessages.details }} />如果是直接调用接 ... »

vscode如何安装eslint插件 代码自动修复

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等。 方法和步骤: 通常情况下vue项目都会添加eslint组件,我们可以查看webpack的配置文件package.json查看,也可以查看工程下是否有.eslintrc.js和.eslintignore查看到esl ... »

react父子组件之间传值

在单页面里面,父子组件传值是比较常见的,react的父子组件传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行接收就可以了;子组件向父组件传值需要绑定一个事件,然后事件是父组件传递过来的this.props.event来进行值的更替。 父组件向子 ... »

MVC、MVP、MVVM模式的概念与区别

1. MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新 ... »

exports、module.exports 和 export、export default

先了解他们的使用范围。 require: node 和 es6 都支持的引入export / import : 只有es6 支持的导出引入module.exports / exports: 只有 node 支持的导出 node模块 Node里面的模块系统遵循的是CommonJS规范。 那问题又来了, ... »

进程与线程以及它们的区别

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 线程是程序执行时的最小单位,程序中一个单一的顺序控制流程。它是进程的一个执行流,是CP ... »

ES6扩展运算符...

对象的扩展运算符理解对象的扩展运算符其实很简单,只要记住一句话就可以: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 let bar = { a: 1, b: 2 };let baz = { ...bar }; // { a: 1, b: 2 }上述方法实际上等 ... »

箭头函数中的 this

首先知道一下什么是箭头函数,箭头函数就是没有function关键字,而是一个类似箭头的函数: var a = ()=>{ return 1; } 相当于 function a(){ return 1; } 那么就来看一下他们的区别: 普通函数中的this: 1. this总是代表它的直接调用者, 例 ... »

预加载的实现方式

1、预加载的实现方式 ①、用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS、JavaScript及两者的各种组合。这些技术可根据不同设计场景设计出相应的解决方案,十分高效。单纯使用CSS,可容易、高效地预加载图片,代码如下: #preload-01 { backgr ... »

ajax跨域简单请求与复杂请求

开发网站时经常会用到跨域资源共享(简称cors,后面使用简称)来解决跨域问题,但是在使用cors的时候,http请求会被划分为两类,简单请求和复杂请求,而这两种请求的区别主要在于是否会触发cors预检请求。 首先我们要明白cors的原理(引自MDN): 跨域资源共享标准新增了一组 HTTP 首部字段 ... »