批量导入 自动化注册组件 // global.js import Vue from 'vue' import upperFirst from 'lodash/upperFirst' import camelCase from 'lodash/camelCase' const requireComponent = require.contex 2022-02-24 #javascript #vue
前端性能优化 【打包时间】 缩小loader的作用范围include,exclude 缩小模块搜索范围module.exports = { //... resolve: { modules: [path.resolve(__dirname, 'src'), 'node_modules'], // 搜索位置 extensions: 2022-02-24 #面试
es6~now新特性 Javascript = Web Api + ECMAScript ES2015 后都使用年份做版本 【let / const】 都用于声明变量 不存在变量提升,暂时性死区 不能重复声明 块级作用域 [] let 可以重新赋值const 声明时需赋值 只读不可改变(对于复杂变量,可以修改变量内容,变量内存地址未改变) 【解构赋值】只有可遍历(具备遍历器[Symbol.Iterator] 2022-02-24 #面试 #javascript #ES6
js运行机制 ref:javascript 运行机制 EventLoop JS 的单线程JavaScript 的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript 的主要用途是与用户互动,以及操作 DOM。这决定了它只能是单线程,保证执行任务的有序并避开复杂的同步问题。 EventLoop js 是单线程运行的 浏览器是多线程的 在代码执行的时候,通过将不同函数的执行上下文压入执行栈中来保证代码 2022-02-24 #面试 #javascript
函数式编程 函数式编程 对数据之间的运算过程进行抽象 “函数”是数学中的“函数”a = sin(30),是一种映射关系 相同的输入一定会得到相同的输出(副作用) 函数是一等公民 函数可以存储在变量中 函数可以作为参数 (高阶函数) 函数可以作为返回值 (高阶函数) 高阶函数 => 抽象通用问题,屏蔽实现的细节 闭包closureJUMP To:闭包 纯函数pf 不修改 2022-03-29 #javascript
二叉树 树型结构 节点不能闭环 只有一个根节点 除了根节点,每个节点有且只有一个父节点 深度:节点到根节点的最长路径经过节点个数 高度:节点到叶节点最长路径经过节点个数 树的高度:根节点到叶节点的最长路径经过节点个数 二叉树最多只有两个子节点的树结构 二叉树是 n 个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右 2022-02-24 #javascript #算法
web安全 同源策略定义 两个URl !同协议 !同域名 !同端口 同源策略限制了同一个源加载的脚本和文档如何与其他源的资源进行交互,包括js脚本,缓存的读取,cookie,ajax等 三种标签不受同源限制script link img 跨域的方法 代理服务器nginx,各种devServer document.domain 前提是两个页面主要域相同 'someWebSite.com/dir1/ 2022-02-24 #面试
前端涉及到的数据存储 LocalStorage[h5 web storage] 不会过期 数据大小5MB 同源共享同一份localStorage 只能为string类型,注意需要JSON转换 SessionStorage[h5 web storage] 会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复) 数据大小5MB 不跨窗口共享,就算同一url的多个tab各自独立 Cookie 手动 2022-02-24 #面试
vue组件之间通信方式 ref和$refs ref挂载在普通 HTML 组件上访问它得到 DOM ref挂载在 VUE 组件上访问它得到组件实例 <base-input ref="usernameInput"><base-input></base-input></base-input> this.$refs.usernameInput 2022-02-24 #面试 #vue