其他
多人协作的项目,严格的代码风格校验对前端研发有非常多的好处,使用eslint可以,提高代码质量,统一团队风格,减少冗余代码等等好处。
javascript
JavaScript 内存管理于我们来说是自动的、不可见的。我们创建的原始类型、对象、函数等等,都会占用内存。当这些数据不被需要后会发生什么?JavaScript 引擎如何发现并清除他们?
现在是前后端分离时代,接口登录凭证通常使用cookie,session,web storage来实现,三种方法区别可以阅读cookie、session和localStorage、以及sessionStorage之间的区别,这三种方式都可以用来实现登录凭证的存储,下面针对每种方式来逐一说明
框架
在即将到来的react17.0版本,react团队对生命周期做了调整,将会移除 componentWillMount,componentWillReceiveProps,componentWillUpdate这三个生命周期,因为这些生命周期方法容易被误解和滥用。
工具
装饰器(Decorator)函数,是用来修改类的行为,一个装饰器函数有三个参数,target 装饰的目标对象,name 类的成员,属性or方法
柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数的新函数
组合函数是纯函数衍生出来的一种函数,把一个纯函数的结果做为另一个纯函数的输入,最终得到一个新的函数,就是组合函数,组合函数是从右到左的数据流,例如
前端跟后端通过ajax请求来传输数据,服务端通常会返回json数据来处理,我们可以通过设置 XMLHttpRequest.responseType 返回服务器响应的数据类型,如果不设置或者设置为 "" 会使用 text 类型返回
小程序
为了区分小程序的用户,微信提供了 openid 来唯一识别,获取 openid 的方式很简单,只需要通过 wx.login 后通过返回的登录凭证 code ,调用官方提供的 code2session 接口即可获取到 openid 和 session_key
WebAssembly 是一种新的字节码格式,主流浏览器都已经支持 WebAssembly。 和 JS 需要解释执行不同的是,WebAssembly 字节码和底层机器码很相似可快速装载运行,因此性能相对于 JS 解释执行大大提升。
小程序做开发的时候难免需要不同页面之间的通讯,比如首页打开新的页面搜索获取结果返回到首页,不同tab页面之间的数据交互等等。
在h5头像拍照上传的时候,遇到了两个问题。1. ios浏览器会逆时针旋转90度,导致上传的效果不如预期。2. 移动端的图片尺寸不一致,效果不理想