摘要: https://wenda.workerman.net/question/2966 http://www.rfcreader.com/#rfc6455_line2178 http://www.zhuyuntao.cn/%e5%9f%ba%e4%ba%8enode%e5%ae%9e%e7%8e%b0w 阅读全文
posted @ 2019-09-03 19:06 kimoon 阅读(2549) 评论(0) 推荐(0) 编辑
摘要: var d = { a: 1234, geta: function () { getaa = () => { console.log(this.a); function g() { console.log(this.a); } g(d); } getaa(); } }d.geta();// 1234 阅读全文
posted @ 2019-09-03 09:36 kimoon 阅读(359) 评论(0) 推荐(0) 编辑
摘要: flex布局很好用,优点很多:静态流文件,空间概念,主流样式可以简单调整,同时支持bfc,空间可以动态分配,专业一维空间布局 这么多优点,所以要提倡使用弹性布局。 空间设置:flex的方向、定位这些可以再父节点设置。 内部单项设置:可扩展,可压缩,占比,剩余空间占比,独立对齐。这些需要在子节点设置。 阅读全文
posted @ 2019-09-02 18:19 kimoon 阅读(1180) 评论(0) 推荐(0) 编辑
摘要: React dom过程 不可变数据,Immutable 是在 数据结构参数变化 到 虚拟dom对象的阶段。 diff算法是在 旧的虚拟dom 到 新的虚拟dom的阶段。 从数据结构 -> 虚拟对象 -> 到虚拟dom树 -> 新的虚拟dom -> 渲染成真实dom -> 挂载 相比于一版树形结构对比 阅读全文
posted @ 2019-09-01 15:07 kimoon 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 1, 为什么要用到不可变数据 ? 从React渲染组件性能考虑,使用旧数据创建新数据时,要保证旧数据同时可用, 并且没有变化的部分还可用,目的是尽量减少不必要的渲染和重绘。 如果是简单的赋值给一个新的变量,新旧对象只是名称不同,不进行深比较js认为数据不变。其次,也会带来引入对象浅拷贝的问题,造成不 阅读全文
posted @ 2019-09-01 00:06 kimoon 阅读(2177) 评论(0) 推荐(0) 编辑
摘要: 以下情况请注意,因为有坑。 1,选择器hover冒号直接有空格,或者是中文符号或空格 2,link、visited > hover > active active需定义在hover之后才能起作用,而hover需定义在visited和link之后才会起作用。当然,前提是它们同时存在的时候 3,hove 阅读全文
posted @ 2019-08-31 13:42 kimoon 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 1 背景 跨域脚本攻击,网络安全漏洞,于是就有了内容安全防护策略,从根本上解决这个问题。 2 启用CSP的方式有2种 修改meta标签,http-equive 服务器 响应头设置 3 主要的CSP策略有5种 设置 CSP 的示范代码: 一般情况会这样设置: Content-Security-Poli 阅读全文
posted @ 2019-08-31 01:09 kimoon 阅读(2461) 评论(0) 推荐(0) 编辑
摘要: Object 遍历的方法 for in 用于对象的可访问属性的遍历,for-in 读取键名,适合处理对象 遍历数字键,也会遍历非数字键或其他属性 返回key在迭代中不保证返回顺序 for of 用于读取可迭代属性的value,for-of 读取键值 数据结构有Symbol.iterator属性,表示 阅读全文
posted @ 2019-08-30 14:33 kimoon 阅读(4473) 评论(0) 推荐(0) 编辑
摘要: 1、 路由的元信息 在定义路由的时候,可以定义 meta 字段 children: [ { path: 'bar', component: Bar, // a meta field 元信息 meta: { requiresAuth: true } 这里路由提示需要认证 } ] 如何使用这个meta呢 阅读全文
posted @ 2019-08-21 23:01 kimoon 阅读(282) 评论(0) 推荐(0) 编辑
摘要: Vue-router 路由守卫 Vue-router 路由守卫 Vue-router 路由守卫 const router = new VueRouter({ ... }) 前置路由守卫 router.beforeEach((to,from,next) => { // to 下一跳路由路径地址 // 阅读全文
posted @ 2019-08-21 22:57 kimoon 阅读(317) 评论(0) 推荐(0) 编辑