JS笔试题
JS难题
H5_ljy
这个作者很懒,什么都没留下…
展开
-
面试题--事件循环
下轮排队的宏任务中执行同步==>执行微任务==.遇到宏任务继续排队==>执行下轮排队的宏任务。下轮排队的宏任务中执行同步==>执行微任务==.遇到宏任务继续排队==>执行下轮排队的宏任务。下轮排队的宏任务中执行同步==>执行微任务==.遇到宏任务继续排队==>执行下轮排队的宏任务。先执行第一轮宏任务(脚本)中的代码同步==>微任务==>下一轮宏任务中的代码。宏任务中同步==>微任务==>下轮排队中的宏任务。总结1.宏任务先运行微任务后运行。如此循环起来了==>就是事件循环。...原创 2022-07-19 23:16:31 · 71 阅读 · 0 评论 -
JS笔试题--Promise,setTimeout,任务队列综合题
这里setTimeout用的n1~n4作为参数标记;then用的t1~t4作为标记知识点:1.then属于异步微任务,setTimeout属于异步宏任务,2.异步任务的队列优先级再同一轮循环中: 异步宏任务先执行 然后在执行异步微任务3.异步宏任务是开启第二个线程等待下一轮循环开始再执行,异步微任务是本轮循环结束执行执行顺序:脚本运行 执行第一个宏任务:1.先执行同步任务2.添加新的宏任务到队列中 添加新的的异步微任务3.执行异步微任务由图分析:第一轮循环开始:先执行同步任务,所以打印1原创 2022-07-13 18:58:48 · 356 阅读 · 0 评论 -
JS笔试题--随机数,数组去重
请补全JavaScript代码,实现一个函数,要求如下:补充:考到知识点有Math的random随机,数组去重方法。总结: random随机数方法,确定范围格式:Math.random()*(end-(start)+start)取整可使用ceil或floor方法。数组去重可使用Set方法,也利用对象键名不重复来实现等等...原创 2022-07-12 09:37:54 · 351 阅读 · 0 评论 -
JS笔试题--原型,new,this综合题
JS原型,new,this综合题原创 2022-07-11 19:03:12 · 174 阅读 · 0 评论 -
JS笔试题--实现数组的flat函数
数组flat方法的底层实现原创 2022-07-11 18:07:09 · 136 阅读 · 0 评论 -
JS面试题--ES5和ES6有什么区别?
ES5和ES6有什么区别?ES6新增了一些技术:1、let声明变量和const声明常量,两个都有块级作用域ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明2、箭头函数 ES6中的函数定义不再使用关键字function(),而是利用了()=>来进行定义3、模板字符串 模板字符串是增强版的字符串,用反引号(`)标识,可以当作普通字符串使用,也可以用来定义多行字符串4、解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值5、for of循环 f原创 2022-07-08 13:38:23 · 1096 阅读 · 0 评论 -
JS笔试题--浏览器内核
对浏览器的内核的了解?有哪些内核?浏览器要渲染出网页给用户看,必须加载html编码和JS脚本,渲染引擎渲染页面的UI和执行JS执行引擎操作内存,就是浏览器的总要组成程序:内核根据不同的浏览厂商 他们使用了不同的内核,内核的程序是很难实现的,根据我的了解有一些内核时公司自己实现的有一些是直接借用的,比如: 1、IE浏览器内核:Trident内核,也是俗称的IE内核; 2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核, 现在是Blink内核;原创 2022-07-08 11:13:44 · 159 阅读 · 0 评论 -
JS笔试题--正则表达式
1.去掉字符串前后空格2.判断子串是否存在,若存在则重复次数原创 2022-06-30 21:12:23 · 133 阅读 · 0 评论 -
JS笔试题--对象的深拷贝
最简单的方式,缺陷是原型链没有拷贝,函数和null不会拷贝完整的深拷贝原创 2022-06-28 11:48:40 · 212 阅读 · 0 评论 -
JS笔试题--作用域链分析
GO{fun函数,a:fun(0),b:fun(0).fun(1).fun(2).fun(3),c:fun(0).fun(1)}fun.[[scopes]]=>[,GO]a = fun(0)这行代码执行后:生成了新的AO=>{n:0,o:undefined,打印undefined,fun(m)函数}fun(m).[[scopes]]=>[fun(n,o).[[scopes]]]a=fun(m)方法a.[[scopes]]=>[n:0,o:undefined,fun(m)方法]a.fun(1)=原创 2022-06-11 16:59:36 · 161 阅读 · 0 评论 -
JS基础--数组方法笔试题
forEach() 方法按顺序为数组中的每个元素调用一次函数。注意:对于没有值的数组元素,不执行forEach() 方法。返回值:undefinedsome() 方法检查数组中的任何元素是否通过测试(作为函数提供)。some() 方法对数组中存在的每个元素执行一次函数:如果找到函数返回真值的数组元素,some() 返回真(并且不检查剩余值)否则返回 false返回值: 布尔值。如果数组中的任何元素通过测试,则返回 true,否则返回 false。...原创 2022-06-06 15:17:29 · 321 阅读 · 0 评论 -
JS难题--getName
function Foo() { getName = function() { console.log(1); } return this; } Foo.getName = function() {console.log(2)} Foo.prototype.getName = function() {console.log(3)} var getName = funct.原创 2022-05-20 13:38:05 · 265 阅读 · 0 评论 -
JS基础-难题分析之a.x = a = {n:2}
输出以下代码的执行结果并解释为什么var a = {n: 1};var b = a;a.x = a = {n: 2};console.log (a.x);console.log (b.x);分析:这种连等号是从右往左去赋值的,但是引用声明是一开始就有了。对象的赋值运算是指向赋值对象的内存空间并取值;var a = {n: 1}; 就是声明了一个a对象并给它属性n值为1var b = a; 声明一个b对象 a对象赋值给b ,b就指向a对象的内存空间 因此b.x=a.xa.x = a =原创 2022-05-09 00:31:46 · 400 阅读 · 0 评论