面试
哈娄
前端开发
展开
-
JavaScript预编译
预编译分为两种: 函数预编译 (函数执行的前一刻执行) 全局预编译 (页面加载完成时执行) 函数执行编译步骤: 创建Activation Object 找形参和变量声明, 将变量声明和形参作为AO的属性名, 值为undefined 将实参和形参值统一 在函数体内找函数声明,将函数名作为AO对象的属性名,值赋予函数体 代码Demo: function fn(a) { var a = 123 function a() {} var b = function () {}原创 2021-11-15 16:26:43 · 1095 阅读 · 0 评论 -
ajax实现
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = () => { if (xhr.readyState === 4 && xhr.status == 200) { var data = xhr.responseText; console.log(data); ...原创 2019-08-05 16:15:26 · 112 阅读 · 0 评论 -
面试--JavaScript单线程
GUI 渲染线程 绘制页面,解析 HTML、CSS,构建 DOM 树,布局和绘制等 页面重绘和回流 与 JS 引擎线程互斥,也就是所谓的 JS 执行阻塞页面更新 JS 引擎线程 负责 JS 脚本代码的执行 负责准执行准备好待执行的事件,即定时器计数结束,或异步请求成功并正确返回的事件 与 GUI 渲染线程互斥,执行时间过长将阻塞页面的渲染 事件触发线程 负责将准备好的事件交给 JS 引擎线程执行 多个事件加入任务队列的时候需要排队等待(JS 的单线程) 定时器触发线程 负责执行异步的定时原创 2021-03-18 09:43:09 · 123 阅读 · 0 评论 -
平时开发遇到的问题
1.video视频ios无法播放 ios和安卓对视频请求字节不一样。需要后端对视频输出进行断点续传 2. 切换清晰度,指定特定时间播放 视频无法快进导致 3.修改iframe内页面 跨域页面无法修改。进行css遮盖, 或者传参数,在被套页面进行调整 4.支付宝小程序scroll-view组件,进行设置scrollLeft距离,手动滑动之后,设置滑动前的scrollL...原创 2019-11-13 08:09:11 · 232 阅读 · 0 评论 -
react源码-setState思路设计解析
1. 调用setState时候并没有立即执行,而是触发Updater更新,将callback函数和nextState进行先添加操作 setState(nextState,callback) { // 添加异步队列, 并不是直接进行更新 this.$updater.addCallback(callback); this.$updater.addState(nextState); } 2. class Updater { addCallback(callba.原创 2020-12-26 20:14:14 · 321 阅读 · 0 评论 -
面试-函数柯里化
1.什么是函数柯里化 通过把接受多参数函数,装换成一系列的嵌套函数,每个函数一次接受一个参数,这就是函数的柯里化。 例: 1.1 函数柯里化前原创 2020-12-26 15:24:12 · 180 阅读 · 0 评论