码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【六袆 - 前端】JavaScript学习;JavaScript面试题;坐地铁,坐公交,打DD的时候刷一刷


    JavaScript

    • JavaScript
        • 写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,...,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal
        • 介绍防抖节流原理、区别以及应用,并用JavaScript进行实现
        • 对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
        • 实现 lodash 的_.get
        • 实现 add(1)(2)(3)
        • 实现链式调用
        • 类数组和数组的区别,dom 的类数组如何转换成数组
        • 介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise
        • 实现 Promise.all
        • 手写发布订阅
        • 手写数组转树
        • 手写用 ES6proxy 如何实现 arr[-1] 的访问
        • 手写实现 Array.flat()
        • 大数计算如何实现
        • 什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝
        • 实现一个方法判断 html 中的标签是否闭合
        • 箭头函数和普通函数的区别
        • es5 实现 isInteger
        • 写出输出结果
        • 手写 dom 操作,翻转 li 标签,如何处理更优
        • 怎样判断一个对象是否是数组,如何处理类数组对象
        • 是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案
        • 随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类
        • `1000*1000` 的画布,上面有飞机、子弹,如何划分区域能够更有效的做碰撞检测,类似划分区域大小与碰撞检测效率的算法,说一下大致的思路
        • 移动设备安卓与 iOS 的软键盘弹出的处理方式有什么不同
        • iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决
        • 给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组
        • 说一说 promise,有几个状态,通过 catch 捕获到 reject 之后,在 catch 后面还能继续执行 then 方法嘛,如果能执行执行的是第几个回调函数
        • var、let、const 的区别
        • 说一下 GC
        • 如何实现按需加载
        • 讲一下 import 的原理,与 require 有什么不同
        • 请实现如下的函数
        • 是否用过 restful 接口,和其他风格的有什么区别
        • 说一下 get、post、put 的区别
        • 说一下对面向对象的理解,面向对象有什么好处
        • 类设计:使用面相对象设计一个停车场管理系
        • 实现输出一个十六进制的随机颜色(#af0128a)
        • 手写代码实现`kuai-shou-front-end=>KuaiShouFrontEnd`
        • 设计一个 Student 组件,实现输入姓名性别成绩(这三个必填),还有几个不是必填的属性,要设置默认值,点击弹出成绩
        • 设计一个函数,奇数次执行的时候打印 1,偶数次执行的时候打印 2
        • 实现 Promise.then
        • 平时在项目开发中都做过哪些前端性能优化
        • 给定起止日期,返回中间的所有月份
        • 按要求实现代码
        • 用尽量短的代码实现一个 arrary 的链式操作,将数组中的大于 10 的值进行一个累加
        • 简单封装一个异步 fecth,使用 async await 的方式来使用
        • 请写一个函数,输出出多级嵌套结构的 Object 的所有 key 值
        • 写出打印结果,并解释为什么
        • 动手实现一个 repeat 方法
        • setTimeout 有什么缺点,和 requestAnimationFrame 有什么区别
        • versions 是一个项目的版本号列表,因多人维护,不规则,动手实现一个版本号处理函数
        • 实现一个多并发的请求
        • 写出代码执行结果
        • 按要求实现一个 sum 函数
        • 说一下 base64 的编码方式
        • 改变 this 指向的方式都有哪些?
        • 说一下`module.exports`和`exports`的区别,`export`和`export default`的区别
        • number 为什么会出现精度损失,怎样避免
        • 实现一个函数将中文数字转成数字
        • 节流
        • 如何实现 5 秒自动刷新一次页面(具体都有什么方法 reload 之类的)
        • 都了解哪些 ES6、ES7 的新特性,箭头函数可以被 new 吗
        • 说一下 JavaScript 继承都有哪些方法
        • 已知函数 A,要求构造⼀个函数 B 继承 A
        • 数组和对象转换为字符串结果
        • 请写出以下代码的打印结果
        • 请写出以下代码的打印结果
        • 要求⽤不同⽅式对 A 进⾏改造实现 A.name 发⽣变化时⽴即执⾏ A.getName
        • 修改以下代码,使得最后⼀⾏代码能够输出数字 0-9(最好能给多种答案)
        • 请给出识别 Email 的正则表达式
        • 设计 AutoComplete 组件(又叫搜索组件、自动补全组件等)时,需要考虑什么问题?
        • 实现函数接受任意二叉树,求二叉树所有根到叶子路径组成的数字之和
        • 请写出一下代码的打印结果
        • Promise 链式调用如何实现
        • 说一下对`BigInt`的理解,在什么场景下会使用
        • null 是不是一个对象,如果是,如何判断一个对象是 null,不使用 JavaScript 提供的 api 如何进行判断
        • 说一下对于堆栈的理解
        • `[] == ![]`为什么
        • 如何把真实 dom 转变为虚拟 dom,代码实现一下
        • 说一下错误监控的实现,错误监控的正确使用方式,日志如何分等级
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 请写出以下代码执行结果
        • 说一下什么是死锁
        • 实现以下代码
        • 请实现一个 cacheRequest 方法,保证发出多次同一个 ajax 请求时都能拿到数据,而实际上只发出一次请求
        • 实现一个函数柯里化
        • 说一下对原型链的理解,画一个经典的原型链图示
        • 说一下 ajax/axios/fetch 的区别
        • 用 Promise 封装一个 ajax
        • 描述 DOM 事件捕获的具体流程
        • 请实现`$on,$emit`
        • 实现 bind 方法,不能使用 call、apply、bind
        • 手写实现 sleep 函数
        • 请写出原生 js 如何设置元素高度
        • 用原生 js 实现自定义事件
        • 如何识别出字符串中的回车并进行换行?
        • 输入一个日期 返回几秒前、几小时前、几天前、几月前
        • 将 153812.7 转化为 153,812.7
        • 数组有哪些方法 讲讲区别跟使用场景
        • 讲一下函数式编程
        • promise 跟 async await 的区别,使用场景
        • async、await 如何进行错误捕获
        • weak-Set、weak-Map 和 Set、Map 区别
        • valueOf 与 toString 的区别
        • 怎么判断是一个空对象
        • 请写出下面代码的执行结果
        • 请写出下面代码的执行结果
        • 请只用数组方法和 Math.random()在一条语句的情况下,实现生成给定位数的随机数组,例如生成 10 位随机数组[1.1,102.1,2,3,8,4,90,123,11,123],数组内数字随机生成。
        • 实现一个 setter 方法
        • setTimeout 与 setInterval 区别
        • 项目中如何应用数据结构
        • 闭包的核心是什么
        • 写出代码输出结果
        • 实现一个功能,发送请求 5s 时间后,如果没有数据返回,中断请求,提示错误
        • 什么是作用域链
        • 介绍事件冒泡、事件代理、事件捕获,以及它们的关系
        • for..of 和 for...in 是否可以直接遍历对象,为什么
        • 在 map 中和 for 中调用异步函数的区别
        • gennerator yield 的作用
        • promise 的状态有哪些
        • 在 ES6 中有哪些解决异步的方法
        • es6 类继承中 super 的作用
        • cros 的简单请求和复杂请求的区别
        • addEventListener 的第三个参数的作用
        • 获取 id 为 netease 节点下所有的 checkbox 子元素(不用框架,注意兼容)
        • 使用原型链如何实现继承
        • 如何获取一个对象的深度
        • reduce 函数的功能,如何实现的,动手实现一下
        • 说一下 splice 和 slice 的功能用法
        • 面向对象的三要素是啥?都是啥意思?
        • 函数中的 this 有几种
        • 如何同时获取 html 中的 h1,h2,h3,h4,h5,h6 中的内容
        • JavaScript 的执行流程
        • Promise.resolve(obj),obj 有几种可能
        • 写出代码执行结果
        • nextTick 是在本次循环执行,还是在下次,setTimeout(() => {}, 0)呢?
        • 使用正则去掉 Dom 中的内联样式
        • 写一个匹配 ip 地址的正则
        • 写一个匹配 Html 标签的正则
        • IOC 是啥,应用场景是啥?
        • 写出代码执行的打印结果
        • 实现函数
        • 怎么实现 this 对象的深拷贝
        • 使用 canvas 绘图时如何组织成通用组件
        • 表单可以跨域吗
        • 搜索请求如何处理?搜索请求中文如何请求?
        • 介绍观察者模式
        • 介绍中介者模式
        • 观察者和订阅-发布的区别,各自用在哪里
        • 通过什么做到并发请求
        • 介绍 service worker
        • 介绍事件代理以及优缺点,主要解决什么问题
        • 介绍下 this 的各种情况
        • 前端如何控制管理路由
        • 使用路由时出现问题如何解决
        • JavaScript 异步解决方案的发展历程以及优缺点
        • 介绍 AST(Abstract Syntax Tree)抽象语法树
        • 对 async、await 的理解,内部原理是怎样的?
        • == 和 ===的区别,什么情况下用相等==
        • bind、call、apply 的区别
        • 介绍下原型链
        • 介绍暂时性死区
        • ES6 中的 map 和原生的对象有什么区别
        • 对纯函数的理解
        • 介绍 JSX
        • 如何设计一个 localStorage,保证数据的时效性
        • 实现 sum 方法,使 sum(x)(y),sum(x,y)返回的结果相同
        • 两个对象如何比较
        • 说一下变量的作用域链
        • 介绍 dom 树对比
        • 如何设计状态树
        • Ajax 发生跨域要设置什么(前端)
        • 加上 CORS 之后从发起到请求正式成功的过程
        • Async 里面有多个 await 请求,可以怎么优化
        • JavaScript 变量类型分为几种,区别是什么
        • JavaScript 里垃圾回收机制是什么,常用的是哪种,怎么处理的
        • ES5 和 ES6 有什么区别
        • 取数组的最大值(ES5、ES6)
        • some、every、find、filter、map、forEach 有什么区别
        • 页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)?循环绑定时的 index 是多少,为什么,怎么解决?
        • 页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理?监听 input 的哪个事件,在什么时候触发?
        • Promise 和 async/await,和 Callback 有什么区别
        • 项目中对于用户体验做过什么优化
        • 前后端通信使用什么方案
        • RESTful 常用的 Method
        • prototype 和proto区别
        • new 的实现原理,动手实现一个 new
        • 如何实现 H5 手机端的适配
        • 如何去除 url 中的#号
        • base64 为什么能提升性能,缺点
        • 介绍 webp 这个图片文件格式
        • 异步请求,低版本 fetch 如何低版本适配
        • ajax 如何处理跨域?CORS 如何设置?
        • jsonp 为什么不支持 post 方法
        • 介绍 Immuable
        • 介绍 JS 全部数据类型,基本数据类型和引用数据类型的区别
        • Array 是 Object 类型吗
        • 说一下栈和堆的区别,垃圾回收时栈和堆的区别
        • 数组里面有 10 万个数据,取第一个元素和第 10 万个元素的时间相差多少
        • Async/Await 怎么实现
        • JavaScript 为什么要区分微任务和宏任务
        • Promise 构造函数是同步还是异步执行,then 呢
        • JavaScript 执行过程分为哪些阶段
        • 词法作用域和 this 的区别
        • loadsh 深拷贝实现原理
        • ES6 中 let 块作用域是怎么实现的
        • formData 和原生的 ajax 有什么区别
        • 介绍下表单提交,和 formData 有什么关系
        • promise 如何实现 then 处理,动手实现 then
        • 如何处理异常捕获
        • 项目如何管理模块
        • 尽可能多的写出判断数组的方法
        • 介绍 localstorage 的 api
        • 使用原型最大的好处
        • 单例、工厂、观察者项目中实际场景
        • 添加原生事件不移除为什么会内存泄露,还有哪些地方会存在内存泄漏
        • setInterval 需要注意的点
        • 定时器为什么是不精确的
        • setTimeout(1)和 setTimeout(2)之间的区别
        • 介绍宏任务和微任务
        • promise 里面和 then 里面执行有什么区别
        • 介绍 class 和 ES5 的类以及区别
        • 介绍 defineProperty 方法,什么时候需要用到
        • for..in 和 object.keys 的区别
        • 使用闭包特权函数的使用场景
        • JavaScript 是什么范式语言
        • Promise 有没有解决异步的问题
        • Promise 和 setTimeout 的区别
        • 按照调用实例,实现下面的 Person 方法
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请写出代码正确执行结果,并解释原因
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 按要求完成代码
        • 请写出正确的执行结果
        • 请写出正确的执行结果
        • 请修改代码能跳出死循环
        • 请写出代码正确执行结果
        • 请写出代码正确执行结果
        • 计算以上字节每位 ✈️ 的起码点,并描述这些字节的起码点代表什么
        • 请写出代码正确执行结果,并解释原因
        • 请写出代码正确执行结果
        • 介绍箭头函数的 this
        • 请写出代码正确执行结果,并解释原因
        • 请写出代码正确执行结果
        • 请写出代码正确执行结果,并解释原因
        • 请问当前 textarea 文本框展示的内容是什么?
        • 请写出代码正确执行结果
        • 请写出代码正确执行结果
        • 请写出代码正确执行结果,并解释为什么
        • 请手写实现一个拖拽
        • 请手动实现一个浅拷贝
        • 介绍 instanceof 原理,并手动实现
        • 请实现一个 JSON.stringfy
        • 请实现一个 JSON.parse
        • 请写出代码的正确执行结果,并解释原因?
        • 请写出代码的正确执行结果,并解释原因?
        • 请写出代码的正确执行结果,并解释原因?
        • 请写出代码的正确执行结果,并解释原因?
        • 请写出代码的正确执行结果,并解释原因?
        • 请写出代码正确执行结果,并解释原因?
        • JavaScript 中如何模拟实现方法的重载
        • 请解释 JSONP 的工作原理
        • 用 html、css、js 模拟实现一个下拉框,使得下拉框在各个浏览器下的样式和行为完全一致,说出你的设计方案,并且重点说明功能设计时要考虑的因素。
        • 实现一个打点计时器
        • JavaScript 写一个单例模式,可以具体到某一个场景
        • JavaScript 基本数据类型都有哪些?用 typeOf 判断分别显示什么?
        • 怎么判断引用类型数据,兼容判断原始类型数据呢?
        • 概述异步编程模型
        • 在一个 ul 里有 10 个 li,实现点击对应的 li,输出对应的下标
        • 分别对以下数组进行去重,1:[1,'1',2,'2',3],2:[1,[1,2,3['1','2','3'],4],5,6]
        • 简述 JavaScript 中的函数的几种调用方式
        • 编写一个 Person 类,并创建两个不同的 Person 对象
        • 手写实现 call
        • 手写实现 apply
        • 一个 dom 必须要操作几百次,该如何解决,如何优化?
        • 页面埋点怎么实现
        • 除了 jsonp、postmessage 后端控制,怎么实现跨页面通讯
        • 说一下 let、const 的实现,动手实现一下
        • addEventListener 再 removeListener 会不会造成内存泄漏
        • scrollview 如何进行性能优化(例如 page=100 时,往上滚动)
        • 原生 JavaScript 获取 ul 中的第二个 li 里边的 p 标签的内容
        • 说下 offsetWith 和 clientWidth、offsetHeight 和 clientHeight 的区别,说说 offsetTop,offsetLeft,scrollWidth、scrollHeight 属性都是干啥的
        • 写一个函数打乱一个数组,传入一个数组,返回一个打乱的新数组
        • 数组截取插入 splice,push 返回值,数组的栈方法、队列方法、排序方法、操作方法、迭代方法说一下
        • 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型
        • 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型?Object.prototype.toString.call(Symbol) 返回什么?
        • 对作用域和闭包的理解,解释下 let 和 const 的块级作用域
        • 以下代码输出什么?
        • switch case,case 具体是怎么比较的,哪些情况下会走到 default
        • 说下 typeof()各种类型的返回值?instanceof 呢?
        • if([] == 0), [1,2] == "1,2", if([]), [] == 0 具体是怎么对比的
        • 如何加快页面渲染速度,都有哪些方式
        • generator 的实现原理
        • 判断是否是数组的方法
        • 手写 EventEmitter 实现
        • 给出的两行代码为什么这么输出
        • 动画性能如何检测
        • 平时都用到了哪些设计模式
        • 对 service worker 的理解
        • 单点登录实现原理
        • 尾递归实现
        • 有 1000 个 dom,需要更新其中的 100 个,如何操作才能减少 dom 的操作?
        • 商城的列表页跳转到商品的详情页,详情页数据接口很慢,前端可以怎么优化用户体验?
        • 多个 tab 只对应一个内容框,点击每个 tab 都会请求接口并渲染到内容框,怎么确保频繁点击 tab 但能够确保数据正常显示?
        • 请实现鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)
        • 完成一个表达式,验证用户输入是否是电子邮箱
        • 原生实现 ES5 的 Object.create()方法
        • 如何记录前端在用户浏览器上发生的错误并汇报给服务器?
        • 有哪几种方式可以解决跨域问题?(描述对应的原理)
        • 按要求完成题目
        • 你是如何组织 JavaScript 代码的?(可以从模块、组件、模式、编程思想等方面回答)
        • 填充代码实现 template 方法
        • 请描述下为什么页面需要做优化?并写出常用的页面优化实现方案?
        • 请列出至少 5 个 JavaScript 常用的内置对象,说明用途
        • 请描述下 JavaScript 中 Scope、Closure、Prototype 概念,并说明 JavaScript 封装、继承实现原理。
        • 请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?
        • 请用 JavaScript 代码实现事件代理
        • 实现格式化输出,比如输入 999999999,输出 999,999,999
        • 使用 JavaScript 实现 cookie 的设置、读取、删除
        • 请编写一个 JavaScript 函数 parseQueryString,它的用途是把 URL 参数解析为一个对象,url="http://iauto360.cn/index.php?key0=0&key1=1&key2=2"
        • 如何实现 a,b 两个变量的交换
        • 给 JavaScript 的 String 原生对象添加一个名为 trim 的原型方法,用于截取字符串前后的空白字符
        • 微任务和宏任务的区别
        • 原生 JavaScript 实现图片懒加载的思路
        • 回调函数和任务队列的区别
        • 写出下面代码的输出结果
        • 有这样一个函数 A,要求在不改变原有函数 A 功能以及调用方式的情况下,使得每次调用该函数都能在控制台打印出“HelloWorld”
        • 在浏览器执行以下代码,写出打印结果
        • 请写出弹出值,并解释为什么?
        • 写出输出值,并解释为什么
        • 请写出代码执⾏结果,并解释为什么
        • 请写出代码执⾏结果,并解释为什么
        • 给定⼀个⼤⼩为 n 的数组,找到其中的众数。众数是指在数组中出现次数⼤于 n/2 的元素
        • 原生实现addClass,用多种方法
        • 实现一个倒计时,setInterval实现的话,如何消除时间误差
        • 函数中的arguments是数组吗?若不是,如何将它转化为真正的数组?
        • 请写出以下代码的打印结果
        • 以最小的改动解决以下代码的错误(可以使用ES6)
        • 实现Function 原型的bind方法,使得以下程序最后能输出“success”
        • 文件上传如何做断点续传
        • 列举 3 种强制类型转换和 2 种隐式类型转换

    JavaScript

    • 写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,…,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal
    • 介绍防抖节流原理、区别以及应用,并用JavaScript进行实现
    • 对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
    • 实现 lodash 的_.get
    • 实现 add(1)(2)(3)
    • 实现链式调用
    • 类数组和数组的区别,dom 的类数组如何转换成数组
    • 介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise
    • 实现 Promise.all
    • 手写发布订阅
    • 手写数组转树
    • 手写用 ES6proxy 如何实现 arr[-1] 的访问
    • 手写实现 Array.flat()
    • 大数计算如何实现
    • 什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝
    • 实现一个方法判断 html 中的标签是否闭合
    • 箭头函数和普通函数的区别
    • es5 实现 isInteger
    • 写出输出结果
    • 手写 dom 操作,翻转 li 标签,如何处理更优
    • 怎样判断一个对象是否是数组,如何处理类数组对象
    • 是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案
    • 随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类
    • 1000*1000 的画布,上面有飞机、子弹,如何划分区域能够更有效的做碰撞检测,类似划分区域大小与碰撞检测效率的算法,说一下大致的思路
    • 移动设备安卓与 iOS 的软键盘弹出的处理方式有什么不同
    • iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决
    • 给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组
    • 说一说 promise,有几个状态,通过 catch 捕获到 reject 之后,在 catch 后面还能继续执行 then 方法嘛,如果能执行执行的是第几个回调函数
    • var、let、const 的区别
    • 说一下 GC
    • 如何实现按需加载
    • 讲一下 import 的原理,与 require 有什么不同
    • 请实现如下的函数
    • 是否用过 restful 接口,和其他风格的有什么区别
    • 说一下 get、post、put 的区别
    • 说一下对面向对象的理解,面向对象有什么好处
    • 类设计:使用面相对象设计一个停车场管理系
    • 实现输出一个十六进制的随机颜色(#af0128a)
    • 手写代码实现kuai-shou-front-end=>KuaiShouFrontEnd
    • 设计一个 Student 组件,实现输入姓名性别成绩(这三个必填),还有几个不是必填的属性,要设置默认值,点击弹出成绩
    • 设计一个函数,奇数次执行的时候打印 1,偶数次执行的时候打印 2
    • 实现 Promise.then
    • 平时在项目开发中都做过哪些前端性能优化
    • 给定起止日期,返回中间的所有月份
    • 输入两个字符串,输出他们中间的月份
    • 用尽量短的代码实现一个 arrary 的链式操作,将数组中的大于 10 的值进行一个累加
    • 简单封装一个异步 fecth,使用 async await 的方式来使用
    • 请写一个函数,输出出多级嵌套结构的 Object 的所有 key 值
    • 写出打印结果,并解释为什么
    • 动手实现一个 repeat 方法
    • setTimeout 有什么缺点,和 requestAnimationFrame 有什么区别
    • versions 是一个项目的版本号列表,因多人维护,不规则,动手实现一个版本号处理函数
    • 实现一个多并发的请求
    • 写出代码执行结果
    • 按要求实现一个 sum 函数
    • 说一下 base64 的编码方式
    • 改变 this 指向的方式都有哪些?
    • 说一下module.exports和exports的区别,export和export default的区别
    • number 为什么会出现精度损失,怎样避免
    • 实现一个函数将中文数字转成数字
    • 节流
    • 如何实现 5 秒自动刷新一次页面(具体都有什么方法 reload 之类的)
    • 都了解哪些 ES6、ES7 的新特性,箭头函数可以被 new 吗
    • 说一下 JavaScript 继承都有哪些方法
    • 已知函数 A,要求构造⼀个函数 B 继承 A
    • 数组和对象转换为字符串结果
    • 请写出以下代码的打印结果
    • 请写出以下代码的打印结果
    • 要求⽤不同⽅式对 A 进⾏改造实现 A.name 发⽣变化时⽴即执⾏ A.getName
    • 修改以下代码,使得最后⼀⾏代码能够输出数字 0-9(最好能给多种答案)
    • 请给出识别 Email 的正则表达式
    • 设计 AutoComplete 组件(又叫搜索组件、自动补全组件等)时,需要考虑什么问题?
    • 实现函数接受任意二叉树,求二叉树所有根到叶子路径组成的数字之和
    • 请写出一下代码的打印结果
    • Promise 链式调用如何实现
    • 说一下对BigInt的理解,在什么场景下会使用
    • null 是不是一个对象,如果是,如何判断一个对象是 null,不使用 JavaScript 提供的 api 如何进行判断
    • 说一下对于堆栈的理解
    • [[] == [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssgA9oVO-1657067382027)(#–为什么)]
    • 如何把真实 dom 转变为虚拟 dom,代码实现一下
    • 说一下错误监控的实现,错误监控的正确使用方式,日志如何分等级
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 请写出以下代码执行结果
    • 说一下什么是死锁
    • 实现以下代码
    • 请实现一个 cacheRequest 方法,保证发出多次同一个 ajax 请求时都能拿到数据,而实际上只发出一次请求
    • 实现一个函数柯里化
    • 说一下对原型链的理解,画一个经典的原型链图示
    • 说一下 ajax/axios/fetch 的区别
    • 用 Promise 封装一个 ajax
    • 描述 DOM 事件捕获的具体流程
    • 请实现 o n , on, on,emit
    • 实现 bind 方法,不能使用 call、apply、bind
    • 手写实现 sleep 函数
    • 请写出原生 js 如何设置元素高度
    • 用原生 js 实现自定义事件
    • 如何识别出字符串中的回车并进行换行?
    • 输入一个日期 返回几秒前、几小时前、几天前、几月前
    • 将 153812.7 转化为 153,812.7
    • 数组有哪些方法 讲讲区别跟使用场景
    • 讲一下函数式编程
    • promise 跟 async await 的区别,使用场景
    • async、await 如何进行错误捕获
    • weak-Set、weak-Map 和 Set、Map 区别
    • valueOf 与 toString 的区别
    • 怎么判断是一个空对象
    • 请写出下面代码的执行结果
    • 请写出下面代码的执行结果
    • 请只用数组方法和 Math.random()在一条语句的情况下,实现生成给定位数的随机数组,例如生成 10 位随机数组[1.1,102.1,2,3,8,4,90,123,11,123],数组内数字随机生成。
    • 实现一个 setter 方法
    • setTimeout 与 setInterval 区别
    • 项目中如何应用数据结构
    • 闭包的核心是什么
    • 写出代码输出结果
    • 实现一个功能,发送请求 5s 时间后,如果没有数据返回,中断请求,提示错误
    • 什么是作用域链
    • 介绍事件冒泡、事件代理、事件捕获,以及它们的关系
    • for…of 和 for…in 是否可以直接遍历对象,为什么
    • 在 map 中和 for 中调用异步函数的区别
    • gennerator yield 的作用
    • promise 的状态有哪些
    • 在 ES6 中有哪些解决异步的方法
    • es6 类继承中 super 的作用
    • cros 的简单请求和复杂请求的区别
    • addEventListener 的第三个参数的作用
    • 获取 id 为 netease 节点下所有的 checkbox 子元素(不用框架,注意兼容)
    • 使用原型链如何实现继承
    • 如何获取一个对象的深度
    • reduce 函数的功能,如何实现的,动手实现一下
    • 说一下 splice 和 slice 的功能用法
    • 面向对象的三要素是啥?都是啥意思?
    • 函数中的 this 有几种
    • 如何同时获取 html 中的 h1,h2,h3,h4,h5,h6 中的内容
    • JavaScript 的执行流程
    • Promise.resolve(obj),obj 有几种可能
    • 写出代码执行结果
    • nextTick 是在本次循环执行,还是在下次,setTimeout(() => {}, 0)呢?
    • 使用正则去掉 Dom 中的内联样式
    • 写一个匹配 ip 地址的正则
    • 写一个匹配 Html 标签的正则
    • IOC 是啥,应用场景是啥?
    • 写出代码执行的打印结果
    • 实现函数
    • 怎么实现 this 对象的深拷贝
    • 使用 canvas 绘图时如何组织成通用组件
    • 表单可以跨域吗
    • 搜索请求如何处理?搜索请求中文如何请求?
    • 介绍观察者模式
    • 介绍中介者模式
    • 观察者和订阅-发布的区别,各自用在哪里
    • 通过什么做到并发请求
    • 介绍 service worker
    • 介绍事件代理以及优缺点,主要解决什么问题
    • 介绍下 this 的各种情况
    • 前端如何控制管理路由
    • 使用路由时出现问题如何解决
    • JavaScript 异步解决方案的发展历程以及优缺点
    • 介绍 AST(Abstract Syntax Tree)抽象语法树
    • 对 async、await 的理解,内部原理是怎样的?
    • == 和 ===的区别,什么情况下用相等==
    • bind、call、apply 的区别
    • 介绍下原型链
    • 介绍暂时性死区
    • ES6 中的 map 和原生的对象有什么区别
    • 对纯函数的理解
    • 介绍 JSX
    • 如何设计一个 localStorage,保证数据的时效性
    • 实现 sum 方法,使 sum(x)(y),sum(x,y)返回的结果相同
    • 两个对象如何比较
    • 说一下变量的作用域链
    • 介绍 dom 树对比
    • 如何设计状态树
    • Ajax 发生跨域要设置什么(前端)
    • 加上 CORS 之后从发起到请求正式成功的过程
    • Async 里面有多个 await 请求,可以怎么优化
    • JavaScript 变量类型分为几种,区别是什么
    • JavaScript 里垃圾回收机制是什么,常用的是哪种,怎么处理的
    • ES5 和 ES6 有什么区别
    • 取数组的最大值(ES5、ES6)
    • some、every、find、filter、map、forEach 有什么区别
    • 页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)?循环绑定时的 index 是多少,为什么,怎么解决?
    • 页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理?监听 input 的哪个事件,在什么时候触发?
    • Promise 和 async/await,和 Callback 有什么区别
    • 项目中对于用户体验做过什么优化
    • 前后端通信使用什么方案
    • RESTful 常用的 Method
    • prototype 和proto区别
    • new 的实现原理,动手实现一个 new
    • 如何实现 H5 手机端的适配
    • 如何去除 url 中的#号
    • base64 为什么能提升性能,缺点
    • 介绍 webp 这个图片文件格式
    • 异步请求,低版本 fetch 如何低版本适配
    • ajax 如何处理跨域?CORSr 如何设置?
    • jsonp 为什么不支持 post 方法
    • 介绍 Immuable
    • 介绍 JS 全部数据类型,基本数据类型和引用数据类型的区别
    • Array 是 Object 类型吗
    • 说一下栈和堆的区别,垃圾回收时栈和堆的区别
    • 数组里面有 10 万个数据,取第一个元素和第 10 万个元素的时间相差多少
    • Async/Await 怎么实现
    • JavaScript 为什么要区分微任务和宏任务
    • Promise 构造函数是同步还是异步执行,then 呢
    • JavaScript 执行过程分为哪些阶段
    • 词法作用域和 this 的区别
    • loadsh 深拷贝实现原理
    • ES6 中 let 块作用域是怎么实现的
    • formData 和原生的 ajax 有什么区别
    • 介绍下表单提交,和 formData 有什么关系
    • promise 如何实现 then 处理,动手实现 then
    • 如何处理异常捕获
    • 项目如何管理模块
    • 尽可能多的写出判断数组的方法
    • 介绍 localstorage 的 api
    • 使用原型最大的好处
    • 单例、工厂、观察者项目中实际场景
    • 添加原生事件不移除为什么会内存泄露,还有哪些地方会存在内存泄漏
    • setInterval 需要注意的点
    • 定时器为什么是不精确的
    • setTimeout(1)和 setTimeout(2)之间的区别
    • 介绍宏任务和微任务
    • promise 里面和 then 里面执行有什么区别
    • 介绍 class 和 ES5 的类以及区别
    • 介绍 defineProperty 方法,什么时候需要用到
    • for…in 和 object.keys 的区别
    • 使用闭包特权函数的使用场景
    • JavaScript 是什么范式语言
    • Promise 有没有解决异步的问题
    • Promise 和 setTimeout 的区别
    • 按照调用实例,实现下面的 Person 方法
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请写出代码正确执行结果,并解释原因
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 按要求完成代码
    • 请写出正确的执行结果
    • 请写出正确的执行结果
    • 请修改代码能跳出死循环
    • 修改代码不造成死循环
    • 请写出代码正确执行结果
    • 请写出代码正确执行结果
    • 计算以上字节每位 ✈️ 的起码点,并描述这些字节的起码点代表什么
    • 请写出代码正确执行结果,并解释原因
    • 请写出代码正确执行结果
    • 请写出代码正确执行结果,并解释原因
    • 请写出代码正确执行结果
    • 请写出代码正确执行结果,并解释原因
    • 请问当前 textarea 文本框展示的内容是什么?
    • 请写出代码正确执行结果
    • 请写出代码正确执行结果
    • 请写出代码正确执行结果,并解释为什么
    • 请手写实现一个拖拽
    • 请手动实现一个浅拷贝
    • 介绍 instanceof 原理,并手动实现
    • 请实现一个 JSON.stringfy
    • 请实现一个 JSON.parse
    • 请写出代码的正确执行结果,并解释原因?
    • 请写出代码的正确执行结果,并解释原因?
    • 请写出代码的正确执行结果,并解释原因?
    • 请写出代码的正确执行结果,并解释原因?
    • 请写出代码的正确执行结果,并解释原因?
    • 请写出代码正确执行结果,并解释原因?
    • JavaScript 中如何模拟实现方法的重载
    • 请解释 JSONP 的工作原理
    • 用 html、css、js 模拟实现一个下拉框,使得下拉框在各个浏览器下的样式和行为完全一致,说出你的设计方案,并且重点说明功能设计时要考虑的因素。
    • 实现一个打点计时器
    • JavaScript 写一个单例模式,可以具体到某一个场景
    • JavaScript 基本数据类型都有哪些?用 typeOf 判断分别显示什么?
    • 怎么判断引用类型数据,兼容判断原始类型数据呢?
    • 概述异步编程模型
    • 在一个 ul 里有 10 个 li,实现点击对应的 li,输出对应的下标
    • 分别对以下数组进行去重,1:[1,‘1’,2,‘2’,3],2:[1,[1,2,3[‘1’,‘2’,‘3’],4],5,6]
    • 简述 JavaScript 中的函数的几种调用方式
    • 编写一个 Person 类,并创建两个不同的 Person 对象
    • 手写实现 call
    • 手写实现 apply
    • 一个 dom 必须要操作几百次,该如何解决,如何优化?
    • 页面埋点怎么实现
    • 除了 jsonp、postmessage 后端控制,怎么实现跨页面通讯
    • 说一下 let、const 的实现,动手实现一下
    • addEventListener 再 removeListener 会不会造成内存泄漏
    • scrollview 如何进行性能优化(例如 page=100 时,往上滚动)
    • 原生 JavaScript 获取 ul 中的第二个 li 里边的 p 标签的内容
    • 说下 offsetWith 和 clientWidth、offsetHeight 和 clientHeight 的区别,说说 offsetTop,offsetLeft,scrollWidth、scrollHeight 属性都是干啥的
    • 写一个函数打乱一个数组,传入一个数组,返回一个打乱的新数组
    • 数组截取插入 splice,push 返回值,数组的栈方法、队列方法、排序方法、操作方法、迭代方法说一下
    • 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型
    • 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型?Object.prototype.toString.call(Symbol) 返回什么?
    • 对作用域和闭包的理解,解释下 let 和 const 的块级作用域
    • 以下代码输出什么?
    • switch case,case 具体是怎么比较的,哪些情况下会走到 default
    • 说下 typeof()各种类型的返回值?instanceof 呢?
    • if([] == 0), [1,2] == “1,2”, if([]), [] == 0 具体是怎么对比的
    • 如何加快页面渲染速度,都有哪些方式
    • generator 的实现原理
    • 判断是否是数组的方法
    • 手写 EventEmitter 实现
    • 给出的两行代码为什么这么输出
    • 动画性能如何检测
    • 平时都用到了哪些设计模式
    • 对 service worker 的理解
    • 单点登录实现原理
    • 尾递归实现
    • 有 1000 个 dom,需要更新其中的 100 个,如何操作才能减少 dom 的操作?
    • 商城的列表页跳转到商品的详情页,详情页数据接口很慢,前端可以怎么优化用户体验?
    • 多个 tab 只对应一个内容框,点击每个 tab 都会请求接口并渲染到内容框,怎么确保频繁点击 tab 但能够确保数据正常显示?
    • 请实现鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)
    • 完成一个表达式,验证用户输入是否是电子邮箱
    • 原生实现 ES5 的 Object.create()方法
    • 如何记录前端在用户浏览器上发生的错误并汇报给服务器?
    • 有哪几种方式可以解决跨域问题?(描述对应的原理)
    • 按要求完成题目
    • 你是如何组织 JavaScript 代码的?(可以从模块、组件、模式、编程思想等方面回答)
    • 填充代码实现 template 方法
    • 请描述下为什么页面需要做优化?并写出常用的页面优化实现方案?
    • 请列出至少 5 个 JavaScript 常用的内置对象,说明用途
    • 请描述下 JavaScript 中 Scope、Closure、Prototype 概念,并说明 JavaScript 封装、继承实现原理。
    • 请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?
    • 请用 JavaScript 代码实现事件代理
    • 实现格式化输出,比如输入 999999999,输出 999,999,999
    • 使用 JavaScript 实现 cookie 的设置、读取、删除
    • 请编写一个 JavaScript 函数 parseQueryString,它的用途是把 URL 参数解析为一个对象,url=“http://iauto360.cn/index.php?key0=0&key1=1&key2=2”
    • 如何实现 a,b 两个变量的交换
    • 给 JavaScript 的 String 原生对象添加一个名为 trim 的原型方法,用于截取字符串前后的空白字符
    • 微任务和宏任务的区别
    • 原生 JavaScript 实现图片懒加载的思路
    • 回调函数和任务队列的区别
    • 写出下面代码的输出结果
    • 有这样一个函数 A,要求在不改变原有函数 A 功能以及调用方式的情况下,使得每次调用该函数都能在控制台打印出“HelloWorld”
    • 在浏览器执行以下代码,写出打印结果
    • 请写出弹出值,并解释为什么?
    • 写出输出值,并解释为什么
    • 请写出代码执⾏结果,并解释为什么
    • 请写出代码执⾏结果,并解释为什么
    • 给定⼀个⼤⼩为 n 的数组,找到其中的众数。众数是指在数组中出现次数⼤于 n/2 的元素
    • 原生实现addClass,用多种方法
    • 实现一个倒计时,setInterval实现的话,如何消除时间误差
    • 函数中的arguments是数组吗?若不是,如何将它转化为真正的数组?
    • 请写出以下代码的打印结果
    • 以最小的改动解决以下代码的错误(可以使用ES6)
    • 实现Function 原型的bind方法,使得以下程序最后能输出“success”
    • 文件上传如何做断点续传
    • 列举 3 种强制类型转换和 2 种隐式类型转换

    写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,…,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal

    公司:头条

    分类:JavaScript

    答案&解析


    介绍防抖节流原理、区别以及应用,并用JavaScript进行实现

    公司:滴滴、虎扑、挖财、58、头条

    分类:JavaScript、编程题

    答案&解析


    对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景

    公司:滴滴、携程、喜马拉雅、微医、蘑菇街、酷家乐、腾讯应用宝、安居客

    分类:JavaScript

    答案&解析


    实现 lodash 的_.get

    公司:滴滴

    分类:JavaScript

    答案&解析


    实现 add(1)(2)(3)

    公司:滴滴

    分类:JavaScript

    答案&解析


    实现链式调用

    公司:滴滴

    分类:JavaScript

    答案&解析


    类数组和数组的区别,dom 的类数组如何转换成数组

    公司:海康威视

    分类:JavaScript

    答案&解析


    介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise

    公司:滴滴、头条、喜马拉雅、兑吧、寺库、百分点、58、安居客

    分类:JavaScript、编程题

    答案&解析


    实现 Promise.all

    Promise.all = function (arr) {
      // 实现代码
    };
    
    • 1
    • 2
    • 3

    公司:滴滴、头条、有赞、微医

    分类:JavaScript、编程题

    答案&解析


    手写发布订阅

    公司:滴滴、头条

    分类:JavaScript

    答案&解析


    手写数组转树

    公司:滴滴

    分类:JavaScript

    答案&解析


    手写用 ES6proxy 如何实现 arr[-1] 的访问

    公司:滴滴

    分类:JavaScript

    答案&解析


    手写实现 Array.flat()

    公司:滴滴、快手、携程

    分类:JavaScript

    答案&解析


    大数计算如何实现

    公司:洋葱学院

    分类:JavaScript

    答案&解析


    什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝

    公司:顺丰、新东方、高德、虎扑、微医、百分点、酷狗

    分类:JavaScript

    答案&解析


    实现一个方法判断 html 中的标签是否闭合

    分类:JavaScript

    答案&解析


    箭头函数和普通函数的区别

    公司:酷家乐

    分类:JavaScript

    答案&解析


    es5 实现 isInteger

    公司:头条

    分类:JavaScript

    答案&解析


    写出输出结果

    function Foo() {
      getName = function () {
        alert(1);
      };
      return this;
    }
    var getName;
    function getName() {
      alert(5);
    }
    Foo.getName = function () {
      alert(2);
    };
    Foo.prototype.getName = function () {
      alert(3);
    };
    getName = function () {
      alert(4);
    };
    
    Foo.getName(); // ?
    getName(); // ?
    Foo().getName(); // ?
    getName(); // ?
    new Foo.getName(); // ?
    new Foo().getName(); // ?
    new new Foo().getName(); // ?
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    公司:心娱

    分类:JavaScript

    答案&解析


    手写 dom 操作,翻转 li 标签,如何处理更优

    /*
     *有下边这样的dom结构,现在可以获取到ul,要求翻转里边li标签,如何处理更优
     */
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
    </ul>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    公司:快手

    分类:

    答案&解析


    怎样判断一个对象是否是数组,如何处理类数组对象

    公司:快手

    分类:JavaScript

    答案&解析


    是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案

    公司:快手

    分类:JavaScript

    答案&解析


    随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类

    公司:快手

    分类:JavaScript

    答案&解析


    1000*1000 的画布,上面有飞机、子弹,如何划分区域能够更有效的做碰撞检测,类似划分区域大小与碰撞检测效率的算法,说一下大致的思路

    公司:快手

    分类:JavaScript

    答案&解析


    移动设备安卓与 iOS 的软键盘弹出的处理方式有什么不同

    公司:快手

    分类:JavaScript

    答案&解析


    iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决

    公司:快手

    分类:JavaScript、Css

    答案&解析


    给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组

    /*
     *示例:
     *给定数组:[2,6,3,8,10,9]
     *返回数组:[6,8,8,10,-1,-1]
     */
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:快手

    分类:JavaScript

    答案&解析


    说一说 promise,有几个状态,通过 catch 捕获到 reject 之后,在 catch 后面还能继续执行 then 方法嘛,如果能执行执行的是第几个回调函数

    公司:伴鱼、喜马拉雅

    分类:JavaScript

    答案&解析


    var、let、const 的区别

    公司:伴鱼、百分点、心娱

    分类:JavaScript

    答案&解析


    说一下 GC

    公司:伴鱼

    分类:JavaScript

    答案&解析


    如何实现按需加载

    公司:伴鱼、腾讯应用宝

    分类:JavaScript

    答案&解析


    讲一下 import 的原理,与 require 有什么不同

    公司:伴鱼、腾讯应用宝

    分类:JavaScript

    答案&解析


    请实现如下的函数

    /*
    	可以批量请求数据,所有的 URL 地址在 urls 参数中,同时可以通过 max 参数控制请求的并发度,当所有请求结束之后,需要执行 callback 回调函数。发请求的函数可以直接使用 fetch 即可
    */
    
    • 1
    • 2
    • 3

    分类:JavaScript、编程题

    答案&解析


    是否用过 restful 接口,和其他风格的有什么区别

    公司:边锋

    分类:JavaScript

    答案&解析


    说一下 get、post、put 的区别

    公司:边锋、虎扑、酷家乐、酷狗、安居客

    分类:JavaScript

    答案&解析


    说一下对面向对象的理解,面向对象有什么好处

    公司:边锋

    分类:JavaScript

    答案&解析


    类设计:使用面相对象设计一个停车场管理系

    /*
     *题目要求
     *使用面相对象设计一个停车场管理系统,该停车场包含:
     *	1.停车位,用于停放车辆;
     *	2.停车位提示牌,用于展示剩余停车位;
     *可以丰富该系统的元素,给出类,类属性,类接口。
     */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:边锋

    分类:JavaScript

    答案&解析


    实现输出一个十六进制的随机颜色(#af0128a)

    公司:快手

    分类:JavaScript

    答案&解析


    手写代码实现kuai-shou-front-end=>KuaiShouFrontEnd

    公司:快手

    分类:JavaScript

    答案&解析


    设计一个 Student 组件,实现输入姓名性别成绩(这三个必填),还有几个不是必填的属性,要设置默认值,点击弹出成绩

    公司:老虎

    分类:JavaScript

    答案&解析


    设计一个函数,奇数次执行的时候打印 1,偶数次执行的时候打印 2

    公司:老虎

    分类:JavaScript

    答案&解析


    实现 Promise.then

    公司:高德、百分点

    分类:JavaScript、编程题

    答案&解析


    平时在项目开发中都做过哪些前端性能优化

    公司:阿里、顺丰、易车、有赞、挖财、喜马拉雅、兑吧、寺库、海康威视、道一云、58

    分类:JavaScript

    答案&解析


    给定起止日期,返回中间的所有月份

    // 输入两个字符串 2018-08  2018-12
    // 输出他们中间的月份 [2018-9,2018-10, 2018-11]
    
    • 1
    • 2

    公司:顺丰

    分类:JavaScript、编程题

    答案&解析


    按要求实现代码

    // 给两个数组 [A1,A2,B1,B2,C1,C2,D1,D2] [A,B,C,D]
    // 输出 [A1,A2,A,B1,B2,B,C1,C2,C,D1,D2,D]
    
    • 1
    • 2

    公司:顺丰

    分类:JavaScript、编程题

    答案&解析


    用尽量短的代码实现一个 arrary 的链式操作,将数组中的大于 10 的值进行一个累加

    公司:顺丰

    分类:JavaScript

    答案&解析


    简单封装一个异步 fecth,使用 async await 的方式来使用

    公司:顺丰

    分类:JavaScript、编程题

    答案&解析


    请写一个函数,输出出多级嵌套结构的 Object 的所有 key 值

    var obj = {
      a: "12",
      b: "23",
      first: {
        c: "34",
        d: "45",
        second: { 3: "56", f: "67", three: { g: "78", h: "89", i: "90" } },
      },
    };
    // => [a,b,c,d,e,f,g,h,i]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    公司:顺丰

    分类:JavaScript、编程题

    答案&解析


    写出打印结果,并解释为什么

    var a = { k1: 1 };
    var b = a;
    a.k3 = a = { k2: 2 };
    console.log(a); // ?
    console.log(b); // ?
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:头条

    分类:JavaScript

    答案&解析


    动手实现一个 repeat 方法

    function repeat(func, times, wait) {
      // TODO
    }
    const repeatFunc = repeat(alert, 4, 3000);
    // 调用这个 repeatFunc ("hellworld"),会alert4次 helloworld, 每次间隔3秒
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:头条

    分类:JavaScript、编程题

    答案&解析


    setTimeout 有什么缺点,和 requestAnimationFrame 有什么区别

    公司:头条

    分类:JavaScript

    答案&解析


    versions 是一个项目的版本号列表,因多人维护,不规则,动手实现一个版本号处理函数

    var versions = ["1.45.0", "1.5", "6", "3.3.3.3.3.3.3"];
    // 要求从小到大排序,注意'1.45'比'1.5'大
    function sortVersion(versions) {
      // TODO
    }
    // => ['1.5','1.45.0','3.3.3.3.3.3','6']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    公司:头条

    分类:JavaScript、编程题

    答案&解析


    实现一个多并发的请求

    let urls = ['http://dcdapp.com', …];
    /*
    	*实现一个方法,比如每次并发的执行三个请求,如果超时(timeout)就输入null,直到全部请求完
    	*batchGet(urls, batchnum=3, timeout=3000);
    	*urls是一个请求的数组,每一项是一个url
    	*最后按照输入的顺序返回结果数组[]
    */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:头条

    分类:JavaScript

    答案&解析


    写出代码执行结果

    async function async1() {
      console.log("async1 start");
      await async2();
      console.log("async1 end");
    }
    async function async2() {
      console.log("async2");
    }
    console.log("script start");
    setTimeout(function () {
      console.log("setTimeout");
    }, 0);
    async1();
    new Promise(function (resolve) {
      console.log("promise1");
      resolve();
    }).then(function () {
      console.log("promise2");
    });
    console.log("scripts end");
    // 写出代码执行完成打印的结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    公司:头条、网易

    分类:JavaScript

    答案&解析


    按要求实现一个 sum 函数

    const a = sum(0); // => a === 0
    const b = sum(1)(2); // => b === 3
    const c = sum(4)(5); // c === 9
    const k = sum(n1)...(nk) // k === n1 + n2 + ... + nk
    
    • 1
    • 2
    • 3
    • 4

    公司:头条

    分类:JavaScript、编程题

    答案&解析


    说一下 base64 的编码方式

    公司:完美世界

    分类:JavaScirpt

    答案&解析


    改变 this 指向的方式都有哪些?

    公司:网易

    分类:JavaScript

    答案&解析


    说一下module.exports和exports的区别,export和export default的区别

    公司:网易

    分类:JavaScript

    答案&解析


    number 为什么会出现精度损失,怎样避免

    公司:网易

    分类:JavaScript

    答案&解析


    实现一个函数将中文数字转成数字

    公司:微软

    分类:JavaScript、编程题

    答案&解析


    节流

    公司:微软

    分类:JavaScript、编程题

    答案&解析


    如何实现 5 秒自动刷新一次页面(具体都有什么方法 reload 之类的)

    公司:易车

    分类:JavaScript

    答案&解析


    都了解哪些 ES6、ES7 的新特性,箭头函数可以被 new 吗

    公司:易车、脉脉、虎扑、喜马拉雅、百分点、海风教育、58

    分类:JavaScript

    答案&解析


    说一下 JavaScript 继承都有哪些方法

    公司:易车、脉脉、微医、海康威视

    分类:JavaScript

    答案&解析


    已知函数 A,要求构造⼀个函数 B 继承 A

    function A(name) {
      this.name = name;
    }
    A.prototype.getName = function () {
      console.log(this.name);
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    公司:新东方

    分类:JavaScript、编程题

    答案&解析


    数组和对象转换为字符串结果

    var arry = [];
    var obj = {};
    // arry,obj 转成字符串的结果是什么?
    
    • 1
    • 2
    • 3

    公司:新东方

    分类:JavaScript

    答案&解析


    请写出以下代码的打印结果

    var a = {
      name: "A",
      fn() {
        console.log(this.name);
      },
    };
    a.fn();
    a.fn.call({ name: "B" });
    var fn1 = a.fn;
    fn1();
    // 写出打印结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    公司:新东方

    分类:JavaScript

    答案&解析


    请写出以下代码的打印结果

    let int = 1;
    setTimeout(function () {
      console.log(int);
      int = 2;
      new Promise((resolve, reject) => {
        resolve();
      }).then(function () {
        console.log(int);
        int = 7;
      });
      console.log(int);
    });
    int = 3;
    console.log(int);
    new Promise((resolve, reject) => {
      console.log(int);
      return resolve((int = 4));
    }).then(function (res) {
      console.log(int);
      int = 5;
      setTimeout(function () {
        console.log(int);
        int = 8;
      }); 
      return false;
    });
    console.log(int);
    // 写出打印结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    公司:新东方

    分类:JavaScript

    答案&解析


    要求⽤不同⽅式对 A 进⾏改造实现 A.name 发⽣变化时⽴即执⾏ A.getName

    /*
    	已知对象A = {name: 'sfd', getName: function(){console.log(this.name)}},
    	现要求⽤不同⽅式对A进⾏改造实现A.name发⽣变化时⽴即执⾏A.getName
    */
    
    • 1
    • 2
    • 3
    • 4

    公司:新东方

    分类:JavaScript、编程题

    答案&解析


    修改以下代码,使得最后⼀⾏代码能够输出数字 0-9(最好能给多种答案)

    var arrys = [];
    for (var i = 0; i < 10; i++) {
      arrys.push(function () {
        return i;
      });
    }
    arrys.forEach(function (fn) {
      console.log(fn());
    }); //本⾏不能修改
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    公司:新东方

    分类:JavaScript、编程题

    答案&解析


    请给出识别 Email 的正则表达式

    公司:头条

    分类:JavaScript、编程题

    答案&解析


    设计 AutoComplete 组件(又叫搜索组件、自动补全组件等)时,需要考虑什么问题?

    公司:头条

    分类:JavaScript

    答案&解析


    实现函数接受任意二叉树,求二叉树所有根到叶子路径组成的数字之和

    class TreeNode{
      value:number
      left?:TreeNode
      right?:TreeNode
    }
    function getPathSum(root){
      // your code
    }
    // 例子,一层二叉树如下定义,路径包括1 —> 2 ,1 -> 3
    const node = new TreeNode();
    node.value = 1;
    node.left = new TreeNode();
    node.left.value = 2;
    node.right = new TreeNode();
    node.right.value = 3;
    getPathSum(node); // return 7 = (1+2) + (1+3)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    公司:头条

    分类:JavaScript、编程题

    答案&解析


    请写出一下代码的打印结果

    function a(obj) {
      obj.a = 2;
      obj = { a: 3 };
      return obj;
    }
    const obj = { a: 1 };
    a(obj);
    console.log(obj);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    公司:滴滴

    分类:JavaScript

    答案&解析


    Promise 链式调用如何实现

    公司:滴滴

    分类:JavaScript、编程题

    答案&解析


    说一下对BigInt的理解,在什么场景下会使用

    公司:滴滴、高德

    分类:JavaScript

    答案&解析


    null 是不是一个对象,如果是,如何判断一个对象是 null,不使用 JavaScript 提供的 api 如何进行判断

    公司:滴滴

    分类:JavaScript

    答案&解析


    说一下对于堆栈的理解

    公司:滴滴、高德

    分类:JavaScript

    答案&解析


    [] == ![]为什么

    公司:高德

    分类:JavaScript

    答案&解析


    如何把真实 dom 转变为虚拟 dom,代码实现一下

    公司:高德

    分类:JavaScript、编程题

    答案&解析


    说一下错误监控的实现,错误监控的正确使用方式,日志如何分等级

    公司:高德

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    var a = { x: 1 };
    var b = a;
    a.x = a = { n: 1 };
    console.log(a); // ?
    console.log(b); // ?
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    Function.prototype.a = () = >{alert(1)}
    Object.prototype.b = () = >{alert(2)}
    function A(){};
    const a = new A();
    a.a();
    a.b();
    // 写出执行结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    let a = 0;
    console.log(a);
    console.log(b);
    let b = 0;
    console.log(c);
    function c() {}
    // 写出执行结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    var x = 10;
    function a(y) {
      var x = 20;
      return b(y);
    }
    function b(y) {
      return x + y;
    }
    a(20);
    // 写出执行结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    console.log(1);
    setTimeout(() => {
      console.log(2);
    });
    process.nextTick(() => {
      console.log(3);
    });
    setImmediate(() => {
      console.log(4);
    });
    new Promise((resolve) => {
      console.log(5);
      resolve();
      console.log(6);
    }).then(() => {
      console.log(7);
    });
    Promise.resolve().then(() => {
      console.log(8);
      process.nextTick(() => {
        console.log(9);
      });
    });
    // 写出执行结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    [1, 2, 3, 4, 5].map(parselnt);
    // 写出执行结果
    
    • 1
    • 2

    公司:快手

    分类:JavaScript

    答案&解析


    请写出以下代码执行结果

    typeof typeof typeof [];
    // 写出执行结果
    
    • 1
    • 2

    公司:快手

    分类:JavaScript

    答案&解析


    说一下什么是死锁

    公司:快手

    分类:JavaScript

    答案&解析


    实现以下代码

    function add() {
      // your code
    }
    function one() {
      // your code
    }
    function two() {
      // your code
    }
    console.log(add(one(two()))); //3
    console.log(add(two(one()))); //3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    公司:快手

    分类:JavaScript、编程题

    答案&解析


    请实现一个 cacheRequest 方法,保证发出多次同一个 ajax 请求时都能拿到数据,而实际上只发出一次请求

    公司:快手

    分类:JavaScript、编程题

    答案&解析


    实现一个函数柯里化

    公司:快手

    分类:JavaScript、编程题

    答案&解析


    说一下对原型链的理解,画一个经典的原型链图示

    公司:脉脉、兑吧、快手

    分类:JavaScript

    答案&解析


    说一下 ajax/axios/fetch 的区别

    公司:脉脉

    分类:JavaScript

    答案&解析


    用 Promise 封装一个 ajax

    公司:脉脉

    分类:JavaScript、编程题

    答案&解析


    描述 DOM 事件捕获的具体流程

    公司:自如

    分类:JavaScript

    答案&解析


    请实现$on,$emit

    公司:自如

    分类:JavaScript、编程题

    答案&解析


    实现 bind 方法,不能使用 call、apply、bind

    公司:自如、腾讯应用宝、快手

    分类:JavaScript、编程题

    答案&解析


    手写实现 sleep 函数

    公司:自如

    分类:JavaScript、编程题

    答案&解析


    请写出原生 js 如何设置元素高度

    公司:自如

    分类:JavaScript

    答案&解析


    用原生 js 实现自定义事件

    公司:自如

    分类:JavaScript、编程题

    答案&解析


    如何识别出字符串中的回车并进行换行?

    分类:JavaScript、编程题

    答案&解析


    输入一个日期 返回几秒前、几小时前、几天前、几月前

    分类:JavaScript、编程题

    答案&解析


    将 153812.7 转化为 153,812.7

    分类:JavaScript、编程题

    答案&解析


    数组有哪些方法 讲讲区别跟使用场景

    公司:掌门一对一

    分类:JavaScript

    答案&解析


    讲一下函数式编程

    公司:掌门一对一

    分类:JavaScript

    答案&解析


    promise 跟 async await 的区别,使用场景

    公司:网易、虎扑、沪江

    分类:JavaScript

    答案&解析


    async、await 如何进行错误捕获

    公司:虎扑

    分类:JavaScript

    答案&解析


    weak-Set、weak-Map 和 Set、Map 区别

    公司:虎扑

    分类:JavaScript

    答案&解析


    valueOf 与 toString 的区别

    分类:JavaScript

    答案&解析


    怎么判断是一个空对象

    公司:菜鸟网络

    分类:JavaScript

    答案&解析


    请写出下面代码的执行结果

    setTimeout(() => {
      console.log(0);
    }, 0);
    new Promise((res) => setTimeout(res, 0)).then(() => {
      console.log(1);
      setTimeout(() => {
        console.log(2);
      }, 0);
      new Promise((r = r())).then(() => {
        console.log(3);
      });
    });
    setTimeout(() => {
      console.log(4);
    }, 0);
    new Promise((res) => res()).then(() => {
      console.log(5);
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    分类:JavaScript

    答案&解析


    请写出下面代码的执行结果

    function Foo() {
      getName = function () {
        alert(1);
      };
      return this;
    }
    getName();
    Foo.getName = function () {
      alert(2);
    };
    Foo.prototype.getName = function () {
      alert(3);
    };
    getName = function () {
      alert(4);
    };
    
    // 请写出下面的输出结果
    getName();
    Foo.getName();
    new Foo().getName();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    分类:JavaScript

    答案&解析


    请只用数组方法和 Math.random()在一条语句的情况下,实现生成给定位数的随机数组,例如生成 10 位随机数组[1.1,102.1,2,3,8,4,90,123,11,123],数组内数字随机生成。

    分类:JavaScript

    答案&解析


    实现一个 setter 方法

    let setter = function (conten, key, value) {
      // your code
    };
    let n = {
      a: {
        b: {
          c: { d: 1 },
          bx: { y: 1 },
        },
        ax: { y: 1 },
      },
    };
    // 修改值
    setter(n, "a.b.c.d", 3);
    console.log(n.a.b.c.d); //3
    setter(n, "a.b.bx", 1);
    console.log(n.b.bx); //1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    分类:JavaScript、编程题

    答案&解析


    setTimeout 与 setInterval 区别

    公司:腾讯应用宝

    分类:JavaScript

    答案&解析


    项目中如何应用数据结构

    公司:挖财

    分类:JavaScript

    答案&解析


    闭包的核心是什么

    公司:寺库

    分类:JavaScript

    答案&解析


    写出代码输出结果

    var fullname = "Test1";
    var obj = {
      fullname: "Test2",
      prop: {
        fullname: "Test3",
        getFullname: function () {
          return this.fullname;
        },
      },
    };
    console.log(obj.prop.getFullname());
    var test = obj.prop.getFullname;
    console.log(test());
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    公司:心娱、安居客

    分类:JavaScript

    答案&解析


    实现一个功能,发送请求 5s 时间后,如果没有数据返回,中断请求,提示错误

    分类:JavaScript、编程题

    答案&解析


    什么是作用域链

    分类:JavaScript

    答案&解析


    介绍事件冒泡、事件代理、事件捕获,以及它们的关系

    公司:腾讯应用宝、安居客

    分类:JavaScript

    答案&解析


    for…of 和 for…in 是否可以直接遍历对象,为什么

    分类:JavaScript

    答案&解析


    在 map 中和 for 中调用异步函数的区别

    分类:JavaScript

    答案&解析


    gennerator yield 的作用

    分类:JavaScript

    答案&解析


    promise 的状态有哪些

    公司:微医

    分类:JavaScript

    答案&解析


    在 ES6 中有哪些解决异步的方法

    分类:JavaScript

    答案&解析


    es6 类继承中 super 的作用

    分类:JavaScript

    答案&解析


    cros 的简单请求和复杂请求的区别

    分类:JavaScript

    答案&解析


    addEventListener 的第三个参数的作用

    分类:JavaScript

    答案&解析


    获取 id 为 netease 节点下所有的 checkbox 子元素(不用框架,注意兼容)

    公司:网易

    分类:JavaScript

    答案&解析


    使用原型链如何实现继承

    公司:腾讯应用宝、安居客

    分类:JavaScript

    答案&解析


    如何获取一个对象的深度

    分类:JavaScript

    答案&解析


    reduce 函数的功能,如何实现的,动手实现一下

    分类:JavaScript、编程题

    答案&解析


    说一下 splice 和 slice 的功能用法

    分类:JavaScript

    答案&解析


    面向对象的三要素是啥?都是啥意思?

    分类:JavaScript

    答案&解析


    函数中的 this 有几种

    分类:JavaScript

    答案&解析


    如何同时获取 html 中的 h1,h2,h3,h4,h5,h6 中的内容

    分类:JavaScript

    答案&解析


    JavaScript 的执行流程

    分类:JavaScript

    答案&解析


    Promise.resolve(obj),obj 有几种可能

    分类:JavaScript

    答案&解析


    写出代码执行结果

    new Promise((resolve, reject) => {
      reject("1");
    })
      .catch((e) => {
        console.log(1);
      })
      .then((res) => {
        console.log(2);
      });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    分类:JavaScript

    答案&解析


    nextTick 是在本次循环执行,还是在下次,setTimeout(() => {}, 0)呢?

    分类:JavaScript

    答案&解析


    使用正则去掉 Dom 中的内联样式

    分类:JavaScript

    答案&解析


    写一个匹配 ip 地址的正则

    分类:JavaScript

    答案&解析


    写一个匹配 Html 标签的正则

    分类:JavaScript

    答案&解析


    IOC 是啥,应用场景是啥?

    分类:JavaScript

    答案&解析


    写出代码执行的打印结果

    function a(obj) {
      obj.a = 2;
      obj = { a: 3 };
      return obj;
    }
    const obj = { a: 1 };
    a(obj);
    console.log(obj);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    分类:JavaScript

    答案&解析


    实现函数

    d1,,,
    d2,,,
    d3,,,
    
    把上边的字符串输出1,2,3的和 //6
    
    • 1
    • 2
    • 3
    • 4
    • 5

    分类:JavaScript

    答案&解析


    怎么实现 this 对象的深拷贝

    公司:阿里

    分类:JavaScript

    答案&解析


    使用 canvas 绘图时如何组织成通用组件

    公司:宝宝树

    分类:JavaScript

    答案&解析


    表单可以跨域吗

    公司:网易

    分类:JavaScript

    答案&解析


    搜索请求如何处理?搜索请求中文如何请求?

    公司:网易

    分类:JavaScript

    答案&解析


    介绍观察者模式

    公司:网易、海风教育

    分类:JavaScript

    答案&解析


    介绍中介者模式

    公司:网易

    分类:JavaScript

    答案&解析


    观察者和订阅-发布的区别,各自用在哪里

    公司:网易、有赞、微医

    分类:JavaScript

    答案&解析


    通过什么做到并发请求

    公司:网易

    分类:JavaScript

    答案&解析


    介绍 service worker

    公司:网易

    分类:JavaScript

    答案&解析


    介绍事件代理以及优缺点,主要解决什么问题

    公司:网易、沪江

    分类:JavaScript

    答案&解析


    介绍下 this 的各种情况

    公司:网易、蘑菇街

    分类:JavaScript

    答案&解析


    前端如何控制管理路由

    公司:网易

    分类:JavaScript

    答案&解析


    使用路由时出现问题如何解决

    公司:网易

    分类:JavaScript

    答案&解析


    JavaScript 异步解决方案的发展历程以及优缺点

    公司:滴滴、挖财、宝宝树、海康威视

    分类:JavaScript

    答案&解析


    介绍 AST(Abstract Syntax Tree)抽象语法树

    公司:滴滴

    分类:JavaScript

    答案&解析


    对 async、await 的理解,内部原理是怎样的?

    公司:头条

    分类:JavaScript

    答案&解析


    == 和 =的区别,什么情况下用相等

    公司:头条、安居客

    分类:JavaScript

    答案&解析


    bind、call、apply 的区别

    公司:头条、挖财、饿了么、心娱

    分类:JavaScript

    答案&解析


    介绍下原型链

    公司:头条

    分类:JavaScript

    答案&解析


    介绍暂时性死区

    公司:有赞

    分类:JavaScript

    答案&解析


    ES6 中的 map 和原生的对象有什么区别

    公司:有赞

    分类:JavaScript

    答案&解析


    对纯函数的理解

    公司:有赞

    分类:JavaScript

    答案&解析


    介绍 JSX

    公司:有赞

    分类:JavaScript

    答案&解析


    如何设计一个 localStorage,保证数据的时效性

    公司:有赞

    分类:JavaScript

    答案&解析


    实现 sum 方法,使 sum(x)(y),sum(x,y)返回的结果相同

    公司:有赞、网易、乘法云

    分类:JavaScript

    答案&解析


    两个对象如何比较

    公司:有赞

    分类:JavaScript

    答案&解析


    说一下变量的作用域链

    公司:挖财

    分类:JavaScript

    答案&解析


    介绍 dom 树对比

    公司:挖财

    分类:JavaScript

    答案&解析


    如何设计状态树

    公司:挖财

    分类:JavaScript

    答案&解析


    Ajax 发生跨域要设置什么(前端)

    公司:沪江

    分类:JavaScript

    答案&解析


    加上 CORS 之后从发起到请求正式成功的过程

    公司:沪江

    分类:JavaScript

    答案&解析


    Async 里面有多个 await 请求,可以怎么优化

    公司:沪江

    分类:JavaScript

    答案&解析


    JavaScript 变量类型分为几种,区别是什么

    公司:沪江、酷狗

    分类:JavaScript

    答案&解析


    JavaScript 里垃圾回收机制是什么,常用的是哪种,怎么处理的

    公司:沪江、寺库

    分类:JavaScript

    答案&解析


    ES5 和 ES6 有什么区别

    公司:饿了么

    分类:JavaScript

    答案&解析


    取数组的最大值(ES5、ES6)

    公司:饿了么

    分类:JavaScript

    答案&解析


    some、every、find、filter、map、forEach 有什么区别

    公司:饿了么

    分类:JavaScript

    答案&解析


    页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)?循环绑定时的 index 是多少,为什么,怎么解决?

    公司:饿了么

    分类:JavaScript

    答案&解析


    页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理?监听 input 的哪个事件,在什么时候触发?

    公司:饿了么

    分类:JavaScript

    答案&解析


    Promise 和 async/await,和 Callback 有什么区别

    公司:携程、海风教育

    分类:JavaScript

    答案&解析


    项目中对于用户体验做过什么优化

    公司:喜马拉雅

    分类:JavaScript

    答案&解析


    前后端通信使用什么方案

    公司:喜马拉雅

    分类:JavaScript

    答案&解析


    RESTful 常用的 Method

    公司:喜马拉雅

    分类:JavaScript

    答案&解析


    prototype 和proto区别

    公司:兑吧

    分类:JavaScript

    答案&解析


    new 的实现原理,动手实现一个 new

    公司:兑吧

    分类:JavaScript、编程题

    答案&解析


    如何实现 H5 手机端的适配

    公司:兑吧、网易、心娱

    分类:JavaScript

    答案&解析


    如何去除 url 中的#号

    公司:兑吧

    分类:JavaScript

    答案&解析


    base64 为什么能提升性能,缺点

    公司:兑吧

    分类:JavaScript

    答案&解析


    介绍 webp 这个图片文件格式

    公司:兑吧

    分类:JavaScript

    答案&解析


    异步请求,低版本 fetch 如何低版本适配

    公司:兑吧

    分类:JavaScript

    答案&解析


    ajax 如何处理跨域?CORS 如何设置?

    公司:兑吧

    分类:JavaScript

    答案&解析


    jsonp 为什么不支持 post 方法

    公司:兑吧

    分类:JavaScript

    答案&解析


    介绍 Immuable

    公司:兑吧

    分类:JavaScript

    答案&解析


    介绍 JS 全部数据类型,基本数据类型和引用数据类型的区别

    公司:微医、玄武科技、快手

    分类:JavaScript

    答案&解析


    Array 是 Object 类型吗

    公司:微医

    分类:JavaScript

    答案&解析


    说一下栈和堆的区别,垃圾回收时栈和堆的区别

    公司:微医、寺库

    分类:JavaScript

    答案&解析


    数组里面有 10 万个数据,取第一个元素和第 10 万个元素的时间相差多少

    公司:微医

    分类:JavaScript

    答案&解析


    Async/Await 怎么实现

    公司:微医

    分类:JavaScript

    答案&解析


    JavaScript 为什么要区分微任务和宏任务

    公司:微医

    分类:JavaScript

    答案&解析


    Promise 构造函数是同步还是异步执行,then 呢

    公司:微医

    分类:JavaScript

    答案&解析


    JavaScript 执行过程分为哪些阶段

    公司:微医

    分类:JavaScript

    答案&解析


    词法作用域和 this 的区别

    公司:微医

    分类:JavaScript

    答案&解析


    loadsh 深拷贝实现原理

    公司:微医

    分类:JavaScript

    答案&解析


    ES6 中 let 块作用域是怎么实现的

    公司:微医

    分类:JavaScript

    答案&解析


    formData 和原生的 ajax 有什么区别

    公司:宝宝树

    分类:JavaScript

    答案&解析


    介绍下表单提交,和 formData 有什么关系

    公司:宝宝树

    分类:JavaScript

    答案&解析


    promise 如何实现 then 处理,动手实现 then

    公司:宝宝树

    分类:JavaScript、编程题

    答案&解析


    如何处理异常捕获

    公司:海康威视

    分类:JavaScript

    答案&解析


    项目如何管理模块

    公司:海康威视

    分类:JavaScript

    答案&解析


    尽可能多的写出判断数组的方法

    公司:海康威视、新东方

    分类:JavaScript

    答案&解析


    介绍 localstorage 的 api

    公司:海康威视

    分类:JavaScript

    答案&解析


    使用原型最大的好处

    公司:蘑菇街

    分类:JavaScript

    答案&解析


    单例、工厂、观察者项目中实际场景

    公司:酷家乐

    分类:JavaScript

    答案&解析


    添加原生事件不移除为什么会内存泄露,还有哪些地方会存在内存泄漏

    公司:酷家乐

    分类:JavaScript

    答案&解析


    setInterval 需要注意的点

    公司:酷家乐

    分类:JavaScript

    答案&解析


    定时器为什么是不精确的

    公司:酷家乐

    分类:JavaScript

    答案&解析


    setTimeout(1)和 setTimeout(2)之间的区别

    公司:酷家乐

    分类:JavaScript

    答案&解析


    介绍宏任务和微任务

    公司:酷家乐

    分类:JavaScript

    答案&解析


    promise 里面和 then 里面执行有什么区别

    公司:酷家乐

    分类:JavaScript

    答案&解析


    介绍 class 和 ES5 的类以及区别

    公司:酷家乐

    分类:JavaScript

    答案&解析


    介绍 defineProperty 方法,什么时候需要用到

    公司:酷家乐

    分类:JavaScript

    答案&解析


    for…in 和 object.keys 的区别

    公司:酷家乐

    分类:JavaScript

    答案&解析


    使用闭包特权函数的使用场景

    公司:酷家乐

    分类:JavaScript

    答案&解析


    JavaScript 是什么范式语言

    公司:海风教育

    分类:JavaScript

    答案&解析


    Promise 有没有解决异步的问题

    公司:海风教育

    分类:JavaScript

    答案&解析


    Promise 和 setTimeout 的区别

    公司:海风教育

    分类:JavaScript

    答案&解析


    按照调用实例,实现下面的 Person 方法

    Person("Li");
    // 输出: Hi! This is Li!
    
    Person("Dan").sleep(10).eat("dinner");
    // 输出:
    // Hi! This is Dan!
    // 等待10秒..
    // Wake up after 10
    // Eat dinner~
    
    Person("Jerry").eat("dinner").eat("supper");
    // 输出:
    // Hi This is Jerry!
    // Eat dinner~
    // Eat supper~
    
    Person("Smith").sleepFirst(5).eat("supper");
    // 输出:
    // 等待5秒
    // Wake up after 5
    // Hi This is Smith!
    // Eat supper
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    分类:JavaScript、编程题

    答案&解析


    请写出正确的执行结果

    var yideng = {
      bar: function () {
        return this.baz;
      },
      baz: 1,
    };
    (function () {
      console.log(typeof arguments[0]());
    })(yideng.bar);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    function test() {
      console.log("out");
    }
    (function () { 
      if (false) {
        function test() {
          console.log("in");
        }
        test();
      }
    })();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    var x = [typeof x, typeof y][1];
    typeof x;
    
    • 1
    • 2

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    (function (x) {
      delete x;
      return x;
    })(1);
    
    • 1
    • 2
    • 3
    • 4

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    var x = 1;
    if (function f() {}) {
      x += typeof f;
    }
    x;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    function f() {
      return f;
    }
    new f() instanceof f;
    
    • 1
    • 2
    • 3
    • 4

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释原因

    Object.prototype.a = "a";
    Function.prototype.a = "a1";
    function Person() {}
    var yideng = new Person();
    console.log(yideng.a);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    var yideng = [0];
    if (yideng) {
      console.log(yideng == true);
    } else {
      console.log("yideng");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    function yideng() {
      return
      {
        a: 1;
      }
    }
    var result = yideng();
    console.log(result.a);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    分类:JavaScript

    答案&解析


    按要求完成代码

    const timeout = (ms) =>
      new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve();
        }, ms);
      });
    const ajax1 = () =>
      timeout(2000).then(() => {
        console.log("1");
        return 1;
      });
    const ajax2 = () =>
      timeout(1000).then(() => {
        console.log("2");
        return 2;
      });
    const ajax3 = () =>
      timeout(2000).then(() => {
        console.log("3");
        return 3;
      });
    const mergePromise = (ajaxArray) => {
      // 1,2,3 done [1,2,3] 此处写代码 请写出ES6、ES3 2中解法
    };
    mergePromise([ajax1, ajax2, ajax3]).then((data) => {
      console.log("done");
      console.log(data); // data 为[1,2,3]
    });
    // 执行结果为:1 2 3 done [1,2,3]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    公司:阿里

    分类:JavaScript、编程题

    答案&解析


    请写出正确的执行结果

    <script>
      //使用未定义的变量yideng
      yideng;
      console.log(1);
    </script>
    <script>
      console.log(2);
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    分类:JavaScript

    答案&解析


    请写出正确的执行结果

    var yideng = Array(3);
    yideng[0] = 2;
    var result = yideng.map(function (elem) {
      return "1";
    });
    console.log(result);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分类:JavaScript

    答案&解析


    请修改代码能跳出死循环

    while (1) {
      switch ("yideng") {
        case "yideng":
        //禁止直接写一句break
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分类:JavaScript、编程题

    答案&解析


    请写出代码正确执行结果

    [1 < 2 < 3, 3 < 2 < 1];
    
    • 1

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果

    2 == [[[2]]];
    
    • 1

    分类:JavaScript

    答案&解析


    计算以上字节每位 ✈️ 的起码点,并描述这些字节的起码点代表什么

    console.log("✈️".length);
    // 1.计算以上字节每位✈️的起码点
    // 2.描述这些字节的起码点代表什么
    
    • 1
    • 2
    • 3

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释原因

    var yidenga = Function.length,
      yidengb = new Function().length;
    console.log(yidenga === yidengb);
    
    • 1
    • 2
    • 3

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果

    var length = 10;
    function fn() {
      console.log(this.length);
    }
    var yideng = {
      length: 5,
      method: function (fn) {
        fn();
        arguments[0]();
      },
    };
    yideng.method(fn, 1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    分类:JavaScript

    答案&解析


    介绍箭头函数的 this

    公司:百分点

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释原因

    var yi = new Date("2018-08-20"),
      deng = new Date(2018, 08, 20);
    [yi.getDay() === deng.getDay(), yi.getMonth() === deng.getMonth()];
    
    • 1
    • 2
    • 3

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果

    for (
      let i = (setTimeout(() => console.log("a->", i)), 0);
      setTimeout(() => console.log("b->", i)), i < 2;
      i++
    ) {
      i++;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释原因

    [typeof null, null instanceof Object];
    
    • 1

    分类:JavaScript

    答案&解析


    请问当前 textarea 文本框展示的内容是什么?

    <textarea maxlength="10" id="yideng"></textarea>
    <script>
      document.getElementById("yideng").value = "a".repeat(10) + "b";
    </script>
    
    • 1
    • 2
    • 3
    • 4

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果

    function sidEffecting(ary) {
      arr[0] = arr[2];
    }
    function yideng(a, b, c = 3) {
      c = 10;
      sidEffecting(arguments);
      return a + b + c;
    }
    yideng(1, 1, 1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果

    yideng();
    var flag = true;
    if (flag) {
      function yideng() {
        console.log("yideng1");
      }
    } else {
      function yideng() {
        console.log("yideng2");
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释为什么

    var min = Math.min(),
      max = Math.max();
    console.log(min < max);
    
    • 1
    • 2
    • 3

    分类:JavaScript

    答案&解析


    请手写实现一个拖拽

    分类:JavaScript、编程题

    答案&解析


    请手动实现一个浅拷贝

    分类:JavaScript、编程题

    答案&解析


    介绍 instanceof 原理,并手动实现

    分类:JavaScript、编程题

    答案&解析


    请实现一个 JSON.stringfy

    分类:JavaScript、编程题

    答案&解析


    请实现一个 JSON.parse

    分类:JavaScript、编程题

    答案&解析


    请写出代码的正确执行结果,并解释原因?

    console.log("hello" + (1 < 2) ? "word" : "me");
    
    • 1

    公司:会小二

    分类:JavaScript

    答案&解析


    请写出代码的正确执行结果,并解释原因?

    var a = (b = 1);
    (function () {
      var a = (b = 2);
    })();
    console.log(a, b);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:会小二

    分类:JavaScript

    答案&解析


    请写出代码的正确执行结果,并解释原因?

    if ([] instanceof Object) {
      console.log(typeof null);
    } else {
      console.log(typeof undefined);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:会小二

    分类:JavaScript

    答案&解析


    请写出代码的正确执行结果,并解释原因?

    var obj = {};
    obj.name = "first";
    var peo = obj;
    peo.name = "second";
    console.log(obj.name);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:会小二

    分类:JavaScript

    答案&解析


    请写出代码的正确执行结果,并解释原因?

    function say(word) {
      let word = "hello";
      console.log(word);
    }
    say("hello Lili");
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:会小二

    分类:JavaScript

    答案&解析


    请写出代码正确执行结果,并解释原因?

    function fun(n, o) {
      console.log(o);
      return {
        fun: function (m) {
          return fun(m, n);
        },
      };
    }
    var b = fun(0).fun(1).fun(2).fun(3);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    公司:会小二

    分类:JavaScript

    答案&解析


    JavaScript 中如何模拟实现方法的重载

    公司:会小二

    分类:JavaScript、编程题

    答案&解析


    请解释 JSONP 的工作原理

    公司:会小二、安居客

    分类:JavaScript

    答案&解析


    用 html、css、js 模拟实现一个下拉框,使得下拉框在各个浏览器下的样式和行为完全一致,说出你的设计方案,并且重点说明功能设计时要考虑的因素。

    公司:会小二

    分类:JavaScript、编程题

    答案&解析


    实现一个打点计时器

    /* 
      1.从start至end,每隔100毫秒console.log一个数字,每次数字增幅为1
      2.返回的对象中需要包含一个cancel方法,用于停止定时操作
      3.第一个数字需要立即输出
    */
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:会小二

    分类:JavaScript、编程题

    答案&解析


    JavaScript 写一个单例模式,可以具体到某一个场景

    公司:会小二

    分类:JavaScript、编程题

    答案&解析


    JavaScript 基本数据类型都有哪些?用 typeOf 判断分别显示什么?

    公司:会小二、安居客

    分类:JavaScript

    答案&解析


    怎么判断引用类型数据,兼容判断原始类型数据呢?

    公司:会小二

    分类:JavaScript

    答案&解析


    概述异步编程模型

    公司:酷狗

    分类:JavaScript

    答案&解析


    在一个 ul 里有 10 个 li,实现点击对应的 li,输出对应的下标

    分类:JavaScript、编程题

    答案&解析


    分别对以下数组进行去重,1:[1,‘1’,2,‘2’,3],2:[1,[1,2,3[‘1’,‘2’,‘3’],4],5,6]

    分类:JavaScript、编程题

    答案&解析


    简述 JavaScript 中的函数的几种调用方式

    分类:JavaScript

    答案&解析


    编写一个 Person 类,并创建两个不同的 Person 对象

    分类:JavaScript、编程题

    答案&解析


    手写实现 call

    公司:腾讯应用宝

    分类:JavaScript

    答案&解析


    手写实现 apply

    分类:JavaScript

    答案&解析


    一个 dom 必须要操作几百次,该如何解决,如何优化?

    分类:JavaScript

    答案&解析


    页面埋点怎么实现

    分类:JavaScript

    答案&解析


    除了 jsonp、postmessage 后端控制,怎么实现跨页面通讯

    分类:JavaScript

    答案&解析


    说一下 let、const 的实现,动手实现一下

    分类:JavaScript、编程题

    答案&解析


    addEventListener 再 removeListener 会不会造成内存泄漏

    分类:JavaScript

    答案&解析


    scrollview 如何进行性能优化(例如 page=100 时,往上滚动)

    分类:JavaScript

    答案&解析


    原生 JavaScript 获取 ul 中的第二个 li 里边的 p 标签的内容

    分类:JavaScript

    答案&解析


    说下 offsetWith 和 clientWidth、offsetHeight 和 clientHeight 的区别,说说 offsetTop,offsetLeft,scrollWidth、scrollHeight 属性都是干啥的

    公司:快手

    分类:JavaScript

    答案&解析


    写一个函数打乱一个数组,传入一个数组,返回一个打乱的新数组

    公司:快手

    分类:JavaScript、编程题

    答案&解析


    数组截取插入 splice,push 返回值,数组的栈方法、队列方法、排序方法、操作方法、迭代方法说一下

    公司:快手

    分类:JavaScript

    答案&解析


    判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型

    公司:快手

    分类:JavaScript

    答案&解析


    判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型?Object.prototype.toString.call(Symbol) 返回什么?

    公司:快手

    分类:JavaScript

    答案&解析


    对作用域和闭包的理解,解释下 let 和 const 的块级作用域

    公司:快手

    分类:JavaScript

    答案&解析


    以下代码输出什么?

    setTimeout(function () {
      console.log(1);
    }, 0);
    new Promise(function executor(resolve) {
      console.log(2);
      for (var i = 0; i < 10000; i++) {
        i == 9999 && resolve();
      }
      console.log(3);
    }).then(function () {
      console.log(4);
    });
    console.log(5);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    公司:心娱

    分类:JavaScript

    答案&解析


    switch case,case 具体是怎么比较的,哪些情况下会走到 default

    公司:快手

    分类:JavaScript

    答案&解析


    说下 typeof()各种类型的返回值?instanceof 呢?

    公司:快手

    分类:JavaScript

    答案&解析


    if([] == 0), [1,2] == “1,2”, if([]), [] == 0 具体是怎么对比的

    公司:快手

    分类:JavaScript

    答案&解析


    如何加快页面渲染速度,都有哪些方式

    公司:快手

    分类:JavaScript

    答案&解析


    generator 的实现原理

    公司:滴滴、58

    分类:JavaScript

    答案&解析


    判断是否是数组的方法

    公司:头条

    分类:JavaScript

    答案&解析


    手写 EventEmitter 实现

    公司:头条、亚美科技

    分类:JavaScript、编程题

    答案&解析


    给出的两行代码为什么这么输出

    var s = "laohu";
    s[0] = 1;
    console.log(s); //laohu
    var s = "laohu";
    s += 2020;
    console.log(s); // laohu2020
    // 上面两行为什么这么输出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:老虎

    分类:JavaScript

    答案&解析


    动画性能如何检测

    公司:酷狗

    分类:JavaScript

    答案&解析


    平时都用到了哪些设计模式

    公司:酷狗、沪江、58

    分类:JavaScript

    答案&解析


    对 service worker 的理解

    公司:酷狗

    分类:JavaScript

    答案&解析


    单点登录实现原理

    公司:CVTE

    分类:JavaScript

    答案&解析


    尾递归实现

    公司:CVTE

    分类:JavaScript

    答案&解析


    有 1000 个 dom,需要更新其中的 100 个,如何操作才能减少 dom 的操作?

    公司:爱范儿

    分类:JavaScript

    答案&解析


    商城的列表页跳转到商品的详情页,详情页数据接口很慢,前端可以怎么优化用户体验?

    公司:爱范儿

    分类:JavaScript

    答案&解析


    多个 tab 只对应一个内容框,点击每个 tab 都会请求接口并渲染到内容框,怎么确保频繁点击 tab 但能够确保数据正常显示?

    公司:爱范儿

    分类:JavaScript

    答案&解析


    请实现鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)

    公司:爱范儿、道一云

    分类:JavaScript、编程题

    答案&解析


    完成一个表达式,验证用户输入是否是电子邮箱

    公司:爱范儿

    分类:JavaScript、编程题

    答案&解析


    原生实现 ES5 的 Object.create()方法

    公司:爱范儿

    分类:JavaScript、编程题

    答案&解析


    如何记录前端在用户浏览器上发生的错误并汇报给服务器?

    公司:爱范儿

    分类:JavaScript

    答案&解析


    有哪几种方式可以解决跨域问题?(描述对应的原理)

    公司:爱范儿

    分类:JavaScript

    答案&解析


    按要求完成题目

    /* 
      a)在不使用vue、react的前提下写代码解决一下问题
        一个List页面上,含有1000个条目的待办列表,现其中100项在同一时间达到了过期时间,需要在对应项的text-node里添加“已过期”文字。需要尽可能减少dom重绘次数以提升性能。
      b)尝试使用vue或react解决上述问题
    */
    
    • 1
    • 2
    • 3
    • 4
    • 5

    公司:爱范儿

    分类:JavaScript、Vue、React、编程题

    答案&解析


    你是如何组织 JavaScript 代码的?(可以从模块、组件、模式、编程思想等方面回答)

    公司:爱范儿

    分类:JavaScript

    答案&解析


    填充代码实现 template 方法

    var str = "您好,<%=name%>。欢迎来到<%=location%>";
    function template(str) {
      // your code
    }
    var compiled = template(srt);
    // compiled的输出值为:“您好,张三。欢迎来到网易游戏”
    compiled({ name: "张三", location: "网易游戏" });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    公司:网易

    分类:JavaScript、编程题

    答案&解析


    请描述下为什么页面需要做优化?并写出常用的页面优化实现方案?

    公司:玄武科技

    分类:JavaScript

    答案&解析


    请列出至少 5 个 JavaScript 常用的内置对象,说明用途

    公司:玄武科技

    分类:JavaScript

    答案&解析


    请描述下 JavaScript 中 Scope、Closure、Prototype 概念,并说明 JavaScript 封装、继承实现原理。

    公司:玄武科技

    分类:JavaScript

    答案&解析


    请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?

    公司:玄武科技

    分类:JavaScript

    答案&解析


    请用 JavaScript 代码实现事件代理

    公司:玄武科技

    分类:JavaScript、编程题

    答案&解析


    实现格式化输出,比如输入 999999999,输出 999,999,999

    公司:亚美科技

    分类:JavaScript、编程题

    答案&解析


    使用 JavaScript 实现 cookie 的设置、读取、删除

    公司:亚美科技

    分类:JavaScript、编程题

    答案&解析


    请编写一个 JavaScript 函数 parseQueryString,它的用途是把 URL 参数解析为一个对象,url=“http://iauto360.cn/index.php?key0=0&key1=1&key2=2”

    公司:亚美科技

    分类:JavaScript、编程题

    答案&解析


    如何实现 a,b 两个变量的交换

    公司:高思教育

    分类:JavaScript

    答案&解析


    给 JavaScript 的 String 原生对象添加一个名为 trim 的原型方法,用于截取字符串前后的空白字符

    公司:高思教育

    分类:JavaScript、编程题

    答案&解析


    微任务和宏任务的区别

    公司:58

    分类:JavaScript

    答案&解析


    原生 JavaScript 实现图片懒加载的思路

    公司:安居客

    分类:JavaScript

    答案&解析


    回调函数和任务队列的区别

    公司:安居客

    分类:JavaScript

    答案&解析


    写出下面代码的输出结果

    //counter.js
    let counter = 10;
    export default counter;
    
    //index.js
    import myCounter from "./counter";
    myCounter += 1;
    console.log(myCounter);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    公司:快手

    分类:JavaScript

    答案&解析


    有这样一个函数 A,要求在不改变原有函数 A 功能以及调用方式的情况下,使得每次调用该函数都能在控制台打印出“HelloWorld”

    function A() {
      console.log("调用了函数A");
    }
    
    • 1
    • 2
    • 3

    公司:新东方

    分类:JavaScript、编程题

    答案&解析


    在浏览器执行以下代码,写出打印结果

    console.log("start");
    setTimeout(() => {
      console.log("children2");
      Promise.resolve().then(() => {
        console.log("children3");
      });
    }, 0);
    new Promise(function (resolve, reject) {
      console.log("children4");
      setTimeout(function () {
        console.log("children5");
        resolve("children6");
      }, 0);
    }).then((res) => {
      console.log("children7");
      setTimeout(() => {
        console.log(res);
      }, 0);
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    公司:新东方

    分类:JavaScript

    答案&解析


    请写出弹出值,并解释为什么?

    alert(a);
    a();
    var a = 3;
    function a() {
      alert(10);
    }
    alert(a);
    a = 6;
    a();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    分类:JavaScript

    答案&解析


    写出输出值,并解释为什么

    function test(m) {
      m = { v: 5 };
    }
    var m = { k: 30 };
    test(m);
    alert(m.v);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分类:JavaScript

    答案&解析


    请写出代码执⾏结果,并解释为什么

    function yideng() {
      console.log(1);
    }
    (function () {
      if (false) {
        function yideng() {
          console.log(2);
        }
      }
      console.log(typeof yideng);
      yideng();
    })();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    分类:JavaScript

    答案&解析


    请写出代码执⾏结果,并解释为什么

    function fn() {
      console.log(this.length);
    }
    var person = {
      length: 5,
      method: function (fn) {
        fn();
      },
    };
    person.method(fn, 1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    分类:JavaScript

    答案&解析


    给定⼀个⼤⼩为 n 的数组,找到其中的众数。众数是指在数组中出现次数⼤于 n/2 的元素

    分类:数据结构与算反

    答案&解析


    原生实现addClass,用多种方法

    分类:JavaScript

    答案&解析


    实现一个倒计时,setInterval实现的话,如何消除时间误差

    分类:JavaScript

    答案&解析


    函数中的arguments是数组吗?若不是,如何将它转化为真正的数组?

    公司:头条

    分类:JavaScript

    答案&解析


    请写出以下代码的打印结果

    if([] == false){console.log(1)};
    if({} == false) {console.log(2)};
    if([]){console.log(3)};
    if([1] == [1]){console.log(4)};
    
    • 1
    • 2
    • 3
    • 4

    公司:头条

    分类:JavaScript

    答案&解析


    以最小的改动解决以下代码的错误(可以使用ES6)

    const obj = {
      name:"jsCoder",
      skill:["es6","react","angular"],
      say:function(){
        for(var i = 0,len = this.skill.length;i<len;i++){
          setTimeout(function(){
            console.log('No.' + i + this.name);
            console.log(this.skill[i]);
            console.log('----------------');
          },0);
          console.log(i);
        }
      }
    }
    obj.say();
    
    /* 
      期望得到下面的结果
      1
      2
      3
      No.1 jsCoder
      es6
      ----------------
      No.2 jsCoder
      react
      ----------------
      No.3 jsCoder
      angular
    */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    公司:头条

    分类:JavaScript

    答案&解析


    实现Function 原型的bind方法,使得以下程序最后能输出“success”

    function Animal(name,color){
      this.name = name;
      this.color = color;
    }
    Animal.prototype.say = function(){
      return `I'm a ${this.color}${this.name}`;
    }
    const Cat = Animal.bind(null,'cat');
    const cat = new Cat('white');
    if(cat.say() === "I'm white cat" && cat instanceof Cat && cat instanceof Animal){
      console.log('sunccess');
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    公司:头条

    分类:JavaScript

    答案&解析


    文件上传如何做断点续传

    公司:网易、洋葱学院

    分类:JavaScript

    答案&解析


    列举 3 种强制类型转换和 2 种隐式类型转换

    公司:58

    分类:JavaScript

    答案&解析



    🛴from:github

  • 相关阅读:
    【单链表经典习题讲解】
    网络安全课题以及学术方向总结
    公众号爆文写作怎么做?或许这些领域才适合你!
    数据结构之队的实现
    Spire.PDF for Java 8.11.0 Spire.PDF for Java
    【Apache Spark 】第 8 章结构化流
    java计算机毕业设计学生选课系统源码+数据库+系统+lw文档+部署
    Unity3D学习笔记4——创建Mesh高级接口
    用 Kafka + DolphinDB 实时计算 K 线
    【微信小程序-初级实战】用户登录
  • 原文地址:https://blog.csdn.net/qq_41086359/article/details/125631915
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号