全部文章

1299 篇文章

前端工具02-10
阅读

前端测试之Jest深入浅出

1\. 为什么要做前端测试 首先,我认为前端测试并不是所有项目都必须的,因为写测试代码是需要要花费一定时间的,当项目比较简单的时候,花时间写测试代码可能反而会影响开发效率,但是需要指出的是,我们前端开发过程中,编写测试代码,有以下这些好处: 1. 更快的发现bug,让绝大多数bug在开发阶段发现解决,提高产品质量 2. 比起写注释,单元测试可能是更好的选择,通过运行测试代码,观察输入和输出,有时会比注释更能让别人理解你的代码(当然,重要...

Linux02-08
阅读

screen 常用命令

1、安装screen: yum install y screen 2、运行 screen ls 可以看到现有的screen的会话。 3、在screen里运行我们需要的脚本,那么运行完后怎么回到原来的命令行呢(暂时离开,保留screen会话中的任务或程序)?先按 CTRL+a,然后再按d。 这个就是dettach的意思啦,离开screen的session。 4、恢复screen会话 当回来时可以再执行执行: screen r lnmp 即...

javascript02-06
阅读

useState和useRef的区别

的坑: 修改state后,如果直接调用此state,会发现state的值未发生改变。 当调用setState时,react是 异步更新state 的,如果setState后立即获取state的值,此时state尚未更新,因此为旧的状态。 总共有两种用法: 1、获取子组件的实例 2、在函数组件中的一个 全局变量 ,不会因为重复 重复申明, 类似于类组件的 有些情况下,我们需要保证函数组件每次 render 之后,某些变量不会被重复申明,比...

#面试
javascript02-03
阅读

什么是Async await,和Promise有什么区别

Async/await:是一个用同步思维解决异步问题的方案 1. 会自动将常规函数转换成Promise,返回值也是一个Promise对象 2. 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数 3. 异步函数内部可以使用await 4. await 放置在Promise调用之前,await 强制后面点代码等待,直到Promise对象resolve,得到resolve的值作为await表达式的运算结果 5. aw...

css02-01
阅读

CSS之Display、Visibility和Opactity的区别

1\. display:none; DOM结构:浏览器不会渲染display属性为none的元素,不占据空间,意思就是页面上没有它的一席之地,你在开发者模式中选不中那个元素。 事件监听:无法进行DOM事件监听。点击事件无法触发,但是可以通过ref获取节点触发点击事件 性能:动态改变此属性时会引起重排,性能较差。 继承:不会被子元素继承,因为子元素也不被渲染。 transtion过渡不支持display。 2\. visibility:h...

#面试
javascript02-01
阅读

es6箭头函数

1\. 相比普通函数,箭头函数有更加简洁的语法。 普通函数 箭头函数 2\. 箭头函数不绑定this,会捕获其所在上下文的this,作为自己的this。 这句话需要注意的是,箭头函数的外层如果有普通函数,那么箭头函数的this就是这个外层的普通函数的this,箭头函数的外层如果没有普通函数,那么箭头函数的this就是全局变量。 下面这个例子是箭头函数的外层有普通函数。 下面这个例子是箭头函数的外层没有普通函数。 3\. 箭头函数是匿名函...

#面试
javascript02-01
阅读

JS数组中改变原数组和不改变原数组的方法

1、首先我们来聊聊数组中有哪些方法是改变原数组的 1.1、push 是往数组的末尾添加数据,返回值是数组的长度,同时原数组会改变 1.2、pop 是删除数组最后一个元素,这次返回的可是被删除的元素数组,同时原数组改变 1.3、 是向数组开头添加一个或者多个的元素,返回值是数组的长度,同时原数组会改变 1.4、shift 是删除数组的第一个元素 并且返回被删除的元素 同时原数组改变 1.5、splice 向数组中插入、删除或者替换元素 例...

javascript01-30
阅读

JavaScript的ES6、ES7、ES8、ES9、ES10新特性

ES6新特性(2015) ES6的特性比较多,在这里列举几个常用的: 类 模块化 箭头函数 函数参数默认值 模板字符串 解构赋值 延展操作符 对象属性简写 Promise Let与Const 1.类(class) 2.模块化(Module) ES5不支持原生的模快化,在ES6中模块作为重要的组成部分被添加进来。模块的功能主要有export和import组成。每个模块都有自己的独立的作用域,模块之间的相互调用关系是通过export来规定模...

javascript01-30
阅读

前端路由hash和history的区别

1\. 前端路由的由来 说前端路由由来之前,先看下后端路由: 后端路由:在前后端不分离的时代,路由都是通过服务端指定的,服务端根据客户端发来的HTTP请求,将返回的数据于模板引擎响应结果结合后进行渲染,将渲染完毕的页面发送给客户端。 优点:SEO友好,爬虫爬取到的页面就是最终的渲染结果。 缺点:每次发起请求都要刷新页面,用户体验不好,服务器压力大。 SPA SPA是单页面应用Single Page web Application的简写。...