链表 特性 数组需要申请连续的内存空间,链表可以使用“零散的”内存空间 头尾操作时间复杂度O(1) 随机访问时间复杂度O(n) 结构 零散的内存块称为结点 记录下一个结点地址的指针叫做后继指针next headNode tailNode.next = null 种类 单链表 循环链表 tailNode.next = headNode 适合处理环状结构的数据 2022-02-24 #面试 #javascript #算法 #数据结构
HTML面试题 HTML5 新特性移除 纯表现的元素/可以用css实现的元素:basefont,big,center,font, s,strike 对可用性产生负面影响的元素:frame,frameset 语意化更好的标签,比如header,nav,section,article,footer,aside 增强了input类型:color,date,datetime-local,range,tel,sear 2022-02-24 #面试 #HTML
react-beginner React 构建用户页面的 javascript 库,并不是完整的 MVC 框架 IntroReact.createElementJSX 元素只是调用 React.createElement(component, props, ...children) 的语法糖 ReactDOM.render(element, container[, callback)在提供的 container 里渲染一个 2022-02-24 #javascript #react
js面试题集 执行顺序 setTimeout(function () { console.log("setTimeout"); }); new Promise(function (resolve) { console.log("promishe"); }).then(function () { consol 2022-02-24 #面试 #javascript
面向对象 ref:https://github.com/CyC2018 面向对象的设计思想面向对象的设计思想是从自然界中来的,因为在自然界中就存在类(Class)和实例(Instance)的概念。 Class 是一种抽象概念,比如我们定义的 Class——Student ,是指学生这个概念, 而实例(Instance)则是一个个具体的 Student ,比如, Michael 和 Bob 是两个 2022-02-24 #面试 #javascript
作用域链与闭包 作用域与作用域链作用域:变量可以起作用的范围 全局作用域 变量在函数外的当前global顶层声明 全局变量:在任何地方都可以访问到的变量,关闭网页或浏览器才会销毁。顶层 听过var声明的全局变量会直接挂载在Global对象上,let和const则不会,但他们效果是相同的。 函数作用域(局部作用域) 变量在函数内声明 局部变量:只在固定的代码片段内可访问到的变量,在函数开始执行时创建, 2022-02-24 #javascript
js数据类型的判断与转换 ECAMScript 中不能自定义数据类型,只能为下列 7 种简单数据类型(原始类型) String Number NaNtypeof NaN === 'number' 唯一一个自相反的值 NaN !== NaN Boolean 在条件判断时,除了 undefined, null, false, NaN, '', 0, -0,其他所有值都转为 true 2022-02-24 #javascript
diff算法 概念 diff算法,包含渲染器如何对各种类型的vNode的属性,text,fragment进行patch更新,以及判断是patch vNode,还是新增还是删除 采用同级比较 基础的diff 新节点没有子节点->删除全部旧的子节点 新节点只有一个子节点->删除旧的并添加新的 核心diff 新旧节点都有多个子节点时,新旧子节点间的diffoldChildrenNode :[a,x,c 2022-02-24 #javascript #vue #算法
vuex@3.x实现分析 初始化阶段安装 Vuex在组件beforeCreate的钩子中将 vuex 的Store实例挂载在实例this.$store上; function vuexInit() { const options = this.$options; // store injection if (options.store) { this.$store = typeof option 2022-03-14 #面试 #vue #源码 #vuex
vue-router@3.x实现分析 vue-router模式hash模式原理:监听onHashChange和修改URL的hash值#xxx 不刷新页面 hash不会发送到服务器 hash的改变会保存历史记录 通过<a>标签的href或者location.hash修改 history模式原理:监听history.popState,通过pushState``replaceState修改历史栈 不刷新 2022-03-10 #面试 #vue-router #vue #源码