- 博客(26)
- 收藏
- 关注
原创 JS数据结构与算法
刷题注意套路: 按照类型刷题; 通用套路; 时间复杂度和空间复杂度的优化 C1 数据结构和算法 数据结构:计算机存储、组织数据的方式 算法:一系列解决问题的清晰指令 程序 = 数据结构+算法 数据结构: 栈、队列、链表 集合、字典 树、堆、图 C2 时间、空间复杂度 时间复杂度:定性描述算法的运行时间 空间复杂度:算法在运行过程中临时占用存储空间大小的量度 C3 栈 简介 const stack = [] stack.push(1) stack.push(2) const ite
2022-04-11 20:14:05
820
原创 剑指刷题笔记
剑指 Offer 03. 数组中重复的数字 /** * @param {number[]} nums * @return {number} */ var findRepeatNumber = function(nums) { //对象属性的方法 // let mapList = {} // for(let i = 0;i<nums.length;i++){ // if(!mapList.hasOwnProperty(nums[i])){ //.
2021-05-24 14:19:58
304
原创 VUE原理
VUE原理 组件化 响应式 vdom和diff 模板编译 渲染过程 前端路由 组件化基础 数据驱动视图 传统组件,只是静态渲染,更新还要依赖于操作DOM 数据驱动视图-Vue MVVM MVVM Vue响应式 组件data一旦发生变化,立即触发视图的更新 实现数据驱动视图的第一步 ...
2021-04-30 19:27:02
278
1
原创 Node.js学习笔记
Node基础 Lesson 1-1 node的作用和应用 脱离浏览器运行JS 后台API编写 Webpack,Gulp,NPM等等 中间层:服务器中负责IO读写的中间层服务器 Lesson 1-2 学习目标:完成登录、注册页面 Lesson 2-1 Node介绍 Node优势 便于前端开发入门 性能高 利于前端代码整合 Lesson 2-2 Node环境搭建 官网下载安装 检查是否安装成功 node -v 运行程序 node xxx.js (用powerShell直接切换到当前js目录比较方便)
2021-04-19 12:02:59
313
2
原创 前端面试整理——HTTP
HTTP:需要调用后端的接口,提交、获取数据——http协议 题目: http常见的状态码有哪些 http常见的header有哪些 什么是Restful API 描述一下http的缓存机制(重要) http状态码 状态码 常见状态码 关于协议和规范 状态码分类 1xx 服务器收到请求 2xx 请求成功,如200 3xx 重定向,如302 4xx 客户端错误,如404 5xx 服务端错误,如500 常用状态码 200 成功 301 永久重定向(配合location,浏览器自动处理) 3
2021-04-17 21:59:37
220
原创 前端面试整理——JS-Web-API-存储
JS-Web-API-存储 存储 题目: 描述cookie localStorage sessionStorage区别 知识点: cookie localStorage sessionStorage cookie 本身用于浏览器和server通讯 被"借用"到本地存储来 可用document.cookie = '…'来修改 缺点: 存储大小,最大4KB http请求时需要发送到服务端,增加请求数据量 只能用document.cookie = ‘…’ 来修改,太过简陋 localStorage
2021-04-17 21:26:22
152
原创 前端面试知识整理——AJAX
前端面试知识整理——AJAX 题目: 手写一个简易的AJAX 跨域的常用实现方式 知识点: XMLHttpRequest 状态码 跨域:同源策略,跨域解决方案 XMLHttpRequest 12-1
2021-04-16 12:16:31
211
原创 前端面试知识整理——JS异步进阶
前端面试知识整理——JS异步进阶 主要内容: event loop promise进阶 async/await 微任务/宏任务 题目: 问答题: 请描述event loop(事件循环/事件轮询)的机制,可画图 什么是宏任务和微任务,有什么区别 promise 有哪三种状态?如何变化? 场景题1:promise then和catch的连接 // An highlighted block var foo = 'bar'; 场景题2:async/await语法 // An highlighted blo
2021-04-14 11:49:00
332
1
原创 前端面试知识整理——JS基础异步和单线程
前端面试知识整理——JS基础异步和单线程 题目: 同步和异步的区别是什么 手写promise加载一张图片 前端使用异步的场景有哪些 知识点: 单线程和异步 应用场景 callback hell(回调地狱)和Promise 单线程和异步 JS是单线程语言,只能同时做一件事 浏览器和nodejs已支持JS启动进程,如web worker JS 和 DOM 渲染共用一个线程,因为JS可修改DOM结构 遇到等待(网络请求,定时任务)不能卡住 需要异步 回调callback函数形式 //异步
2021-04-13 12:12:41
220
原创 前端笔试题整理——时间格式化输出
前端笔试题整理——时间格式化输出 题目描述:按所给的时间格式输出指定的时间 格式说明 对于 2014.09.05 13:14:20 yyyy: 年份,2014 yy: 年份,14 MM: 月份,补满两位,09 M: 月份, 9 dd: 日期,补满两位,05 d: 日期, 5 HH: 24制小时,补满两位,13 H: 24制小时,13 hh: 12制小时,补满两位,01 h: 12制小时,1 mm: 分钟,补满两位,14 m: 分钟,14 ss: 秒,补满两位,20 s: 秒,20 w: 星期,为 [‘日’,
2021-04-13 10:26:35
259
原创 前端面试知识整理——JS基础作用域和闭包
前端面试知识整理——JS基础作用域和闭包 题目: this的不同应用场景,如何取值? 手写bind函数 实际开发中闭包的应用场景,举例说明 创建10个a标签,点击的时候弹出来对应的序号 知识点: 作用域和自由变量 闭包 this 作用域 全局作用域 函数作用域 块级作用域(ES6新增)let const 闭包 作用域应用的特殊情况,有两种表现: 函数作为参数被传递 函数作为返回值被返回 ...
2021-04-11 20:58:48
187
原创 前端面试知识整理——JS基础原型和原型链
前端面试知识整理——JS基础原型和原型链 题目: 如何准确判断一个变量是不是数组 手写一个简易的jQuery,考虑插件和扩展性 class的原型本质,怎么理解 知识点: class 和集成 类型判断instanceof 原型和原型链 1 class construct 属性 方法 class Student { constructor(name, number) { this.name = name this.number = number } sayHi() {
2021-04-11 16:57:24
217
原创 前端面试知识整理——JS基础变量类型和计算
前端面试知识整理——JS基础 题目 typedof 能判断哪些类型 何时使用 == 和 === 值类型和引用类型的区别 手写深拷贝 值类型和引用类型 值类型 原因:栈存储 栈中存储的就是值 //值类型 let a = 100 let b = a a = 200 console.log(b)//100 引用类型 原因:栈和堆同时存储,栈中存储的是内存地址 本质:复杂数据类型可能较大,不方便在栈中存储 //引用类型 let a = { age: 20
2021-04-11 13:40:01
190
原创 前端笔试题整理——斐波那契数列
斐波那契数列 题目描述: 用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数。 f(1) = 1, f(2) = 1 等 简单递归 缺点:存在重复计算,计算复杂度高 function fibonacci(n) { if(n == 1 || n == 2) return 1 else return fibonacci(n-1)+ fibonacci(n-2) } 动态规划 时间复杂度低 注:需要对应下标 function fibonacci(n) { v
2021-04-11 12:45:12
264
原创 前端笔试题整理——数组去重
前端笔试题整理——数组去重 题目描述:为 Array 对象添加一个去除重复项的方法 示例: 输入:[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a’, ‘a’, NaN] 输出:[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a’] ES6的SET Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 Array.prototype.uniq = function () {
2021-04-08 10:20:40
218
原创 前端笔试题整理——dom节点查找
前端笔试题整理——dom节点查找 题目描述:查找两个节点的最近的一个共同父节点,可以包括节点自身 输入描述:oNode1 和 oNode2 在同一文档中,且不会为相同的节点 解题思路:一共分为3种情况讨论 1是2的父节点,直接返回1 2是1的父节点,直接返回2 都不是,则对1和2的父节点进行递归 原生JS中的contains方法不同于java,它并不是字符串方法,仅用于判断DOM元素的包含关系,参数是Element类型。 function commonParentNode(oNode1, oNode2)
2021-04-08 09:56:03
210
原创 前端笔试题整理——获取url参数
前端笔试题整理——获取url参数 题目:获取 url 中的参数 1. 指定参数名称,返回该参数的值 或者 空字符串 2. 不指定参数名称,返回全部的参数对象 或者 {} 3. 如果存在多个同名参数,则返回数组 示例: http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe key 解法1 简单写法 需要注意的是要分清楚不同条件下返回的分别是形式的数据。 function getUrlParam(sUrl, sKey) {
2021-04-07 12:01:05
575
1
原创 前端笔试题整理——修改this指向
前端面试题整理 1.封装函数 f,使 f 的 this 指向指定的对象 修改this指向总共有apply,call,bind三种方法,下面对这三种函数的用法进行了整理。 apply ,fn.apply(obj, [argsArray]) apply接受两个参数,第一个参数是this的指向,第二个参数是函数接受的参数,以数组的形式传入。并且修改原函数this指向就会立即执行。 function bindThis(f, oTarget) { return function(){ r
2021-04-06 19:58:35
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅