10 2018 档案
摘要:在excel的单元格中换行 1. windows alt + enter 2. mac command + alt + enter
阅读全文
摘要:React的diff算法主要是两个Tree的比较。 传统的Tree diff算法复杂度是O(n^3),React是算法通过一些策略将复杂度将为O(n). 1. 优化策略 1. 网页中的DOM跨层级移动的特别少,可以忽略不计2. 相同类型的组件生成相似的树形结构,不同类型的组件生成不同的树形结构3.
阅读全文
摘要:https的特点 1. https有 握手阶段 和 请求阶段2. 握手阶段 使用 非对称加密算法 请求阶段 使用 对称加密算法3. 保证数据的完整性使用数字签名4. 握手阶段有两组非对称加密,数字证书本身有一组公私钥,用于将服务器公钥发送到客户端。 服务器也有一组公私钥,用于将客户端的随机密码发送到
阅读全文
摘要:题目: 运行结果: 分析: 题目中有多个变量声明和函数声明,都会提升,而函数的优先级高于变量,两个函数声明,后面的高于前面的,所以第一个a是 f a(){console.log(4)} var a = 1,执行到此,a被赋值为1,第二,第三个a都是1,中间的函数声明已经提升过,在此处不会再执行,没有
阅读全文
摘要:在Finder的工具栏上放一下应用,方便打开对应的文件,可以 Command + 鼠标拖动应用,将应用拖入Finder工具栏中。 本人的Finder工具栏上添加了vscode这个应用
阅读全文
摘要:1. 直接new Component() 组件本身也是class,可以new,这样的组件实例意义不大 2. ReactDOM.render返回组件实例(React新版本已失效,返回null) 3. ref回调函数返回组件实例(React新版本可用)
阅读全文
摘要:React对boolean类型的attribute的识别方式问题,可以采用以下方法解决: 改成数字的写法,不用布尔值。 具体可以参考:https://github.com/styled-components/styled-components/issues/1198
阅读全文
摘要:这是React不能识别dom元素上的非标准attribute报出的警告,最终的渲染结果中React会移除这些非标准的attribute。 通常{...this.props}和cloneElement(element, this.props)这两种写法,会将父级别无用的attribute传递到子级的d
阅读全文
摘要:1. webpack设置开发模式和生产模式 (1). DefinePlugin插件设置 (2). 命令行设置 2. 开发模式和生产模式脚本区分执行 以上代码不必担心在浏览器中会不兼容,webpack会将其编译为一个bool值: 如果使用了UglifyJsPlugin,则会编译为: 完全不会增加多余的
阅读全文
摘要:every的入口参数是一个返回bool值的函数,在需要break的地方return false,其他均return true,即可达到和break相同的效果 出处:https://segmentfault.com/q/1010000006165646
阅读全文
摘要:上面的npm scrpts命令在mac和linux上可以正常运行,在windows上无法正常运行,windows上应该改为 原因是,命令1是一个shell脚本,windows不识别,windows上可以使用node命令直接启动webpack-dev-server的js文件,就是命令2,效果相同。
阅读全文
摘要:lodash的_.chunk函数可以将数组按照数量分成若干组, 例如: 会分成 下面是一种 map + slice 的写法 写法分析: 1. 首先使用了 Array.apply(null, {length: xxxx}) 来生成一个指定长度的数组,这里注意 new Array(length) 生成的
阅读全文
摘要:call和apply第一个参数为null/undefined,函数this指向全局对象,在浏览器中是window,在node中是global 在严格模式中(ie 6/7/8/9 除外),传入null/undefined,this不指向全局对象,而是null/undefined本身 参考:http:/
阅读全文
摘要:apply方法用来改变函数执行时的this指向,后面的参数是一个类数组对象,可以是数组,arguments,甚至一个有length属性的对象 { length: 3 } apply有一个重要的作用,就是可以将 数组参数 转换为 参数列表,也就是可以 对一个数组应用原本只支持参数列表的函数。 例如:
阅读全文
摘要:1. push和concat的元素都既可以是普通元素(任意类型),也可以数组元素2. push和concat的参数都是无限的参数列表2. push的item会添加到末尾,并且都是以整体的形式添加到数组末尾,数组元素会直接以数组整体的形式存在3. concat的元素会被打碎,非数组元素无法打碎,以整体
阅读全文
摘要:1. match通过路径 <Route path="/path/:name" component={example} /> 路由组件内获取参数使用 this.props.match.params.name 2. query String 通过search //mirrorx中使用push的参数sea
阅读全文
摘要:1. Store中的State修改不能直接修改原有的State,若直接修改State,则redux中的所有操作都将指向 内存中的同一个state,将无法获取每一次操作前后的state,就无法追溯state变更记录,不能实现 state的历史记录,也无法保证this.props和nextProps能得
阅读全文
摘要:使用了redux管理应用的状态,应用的状态不应该全部放在Store里面。 前端状态主要有一下两种: 1. Domain data 2. UI State 1. Domain data 来自于服务端对领域模型的抽象,比如user,product,这个应该放在Store,方便更新data 2. UI S
阅读全文
摘要:1. 路径处理方法 __dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径,一般情况下不变,在process.chdir()后,或者shel
阅读全文
摘要:使用branch参数,后面加上tag标签,最后是git仓库的地址
阅读全文
摘要:1. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录 2. path.dirname用法 3. nodejs递归创建目录
阅读全文
摘要:输出 其中atime,mtime,ctime就分别代表了访问时间,修改时间以及创建时间,都为date类型 nodejs使用stats对象来代表一个文件或设备信息,stats对象有如下方法: stats对象的isFile可以判断设备是否为文件,isDirectory可以判断设备是否为目录 判断文件是否
阅读全文