首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js面试基本都会面的一道题,值得你了解掌握

js是一门单线程的编程语言,也就是说js在处理任务的时候,所有任务只能在一个线程上排队被执行,那如果某一个任务耗时比较长呢?总不能等到它执行结束再去执行下一个。...银行柜员一个个办理业务,这时这个柜员就相当于一个js线程,客户排的队就相当于同步任务队列,每个人对于柜员相当于一个个的任务。 但这个时候,你的电话突然响了,你去接电话接了半小时。...而这些队列由js的事件循环(EventLoop)来搞定 macro-task(宏任务)与micro-task(微任务),在最新标准中,它们被分别称为task与jobs。...jobs 其中宏任务(task)包括: script(整体代码) setTimeout, setInterval, setImmediate, I/O UI rendering ajax请求不属于宏任务,js...但相信完全了解事件循环机制,仔细分析的话,面试遇到这样的题完全不是问题。我在写这篇文章的时候,发现自己之前理解的很大一部分是错的。如果大家觉得哪里有错误,还请帮忙指点出来。

32520
您找到你想要的搜索结果了吗?
是的
没有找到

js面试基本都会面的一道题,值得你了解掌握

js是一门单线程的编程语言,也就是说js在处理任务的时候,所有任务只能在一个线程上排队被执行,那如果某一个任务耗时比较长呢?总不能等到它执行结束再去执行下一个。...银行柜员一个个办理业务,这时这个柜员就相当于一个js线程,客户排的队就相当于同步任务队列,每个人对于柜员相当于一个个的任务。 但这个时候,你的电话突然响了,你去接电话接了半小时。...而这些队列由js的事件循环(EventLoop)来搞定 macro-task(宏任务)与micro-task(微任务),在最新标准中,它们被分别称为task与jobs。...其中宏任务(task)包括: script(整体代码) setTimeout, setInterval, setImmediate, I/O UI rendering ajax请求不属于宏任务,js...但相信完全了解事件循环机制,仔细分析的话,面试遇到这样的题完全不是问题。我在写这篇文章的时候,发现自己之前理解的很大一部分是错的。如果大家觉得哪里有错误,还请帮忙指点出来。

32200

js手写前端需要掌握的点

/promise.js'), 'utf8').then(d=>{// console.log(d)// })// promise化node所有apiconst promisifyAll = target.../promise.js'), 'utf8').then(d=>{ console.log(d)})module.exports = { promisify, promisifyAll}完整实现Promises...,n是此次传进来的数值5,m值还是上一步中的7,所以add(m+n)=add(7+5)=add(12),此时m=12,并且返回temp函数由于后面没有传入参数,等于返回的temp函数不被执行而是打印,了解...JS的朋友都知道对象的toString是修改对象转换字符串的方法,因此代码中temp函数的toString函数return m值,而m值是最后一步执行函数时的值m=12,所以返回值是12。...self.length; for(;i<len;i++) { typeof callback == 'function' && callback.call(context,self[i], i) }}将js

1.9K30

2022年全栈开发者需要熟悉了解的知识列表

如果你对全栈开发不太熟悉,或者对大家在谈论全栈开发时使用的一些词感到疑惑,那么可以看看本篇文章。在这里我将解释与全栈开发内容相关的最常见词和短语。...当然,了解我这里提到的每个知识的细节需要更多的时间。每个知识点都会被总结出来,让你初步了解这些词语或者短语的含义,这样也方便你理解大家在谈论全栈开发中的某些领域时所指的内容。...注意,尽管名称为无服务器,但仍然使用物理服务器,不过开发人员无需了解它们。 14....Node.js 允许开发人员使用 JavaScript 编写命令行工具和服务器端脚本,以便在将页面发送到用户的 Web 浏览器之前生成动态网页内容。...这就是全栈开发人员需要熟悉了解的完整知识列表

1.9K31

重学JS-3-一图掌握JS字符串

通过下面的思维导图,我们先对JavaScript的字符串有一些基本的了解。 常用方法 见思维导图。...参考文章 JavaScript 28个常用字符串方法及使用技巧 JS字符串是不可变的 iOS开发者可能会有熟悉的感觉,和NSString一样,JS的字符串也是不可变的。 具体参考下面这个例子。...// 无法运行 重新赋值、trim、replace等操作,其实都是返回了一个新的字符串 正则表达式 正则表达式也是处理字符串时,会经常用到的知识,这块内容比较多,这里只记录一些最重要的知识,更深入的了解...在JS中的应用 reg.test(str):返回布尔值。 reg.exec(str):迭代器,每次执行,返回匹配结果和分组,直到返回为null结束。...参考资料 正则表达式不要背 JS正则表达式完整教程 可能是最好的正则表达式的教程笔记了吧...【重点看!!】

52620

JS基础-完美掌握继承知识点

本篇文章需要先理解原型、原型链以及call的相关知识: JS基础-函数、对象和原型、原型链的关系 js基础-面试官想知道你有多理解call,apply,bind? 何为继承?...PS:或者是多个类 JS实现继承的原理 记住这个概念,你会发现JS中的继承都是在实现这个目的,差异是它们的实现方式不同。 复制父类的属性和方法来重写子类原型对象。...理解new做了什么: new在本文出现多次,new也是JS基础中很重要的一块内容,很多知识点会涉及到new,不太理解的要多看几遍。 创建一个全新的对象。...小结 继承也是前端的高频面试题,了解本文中继承方法的优缺点,有助于更深刻的理解JS继承机制。除了组合继承和寄生式继承都是由其他方法组合而成的,分块理解会对它们理解的更深刻。...对prototype还不是很理解的同学,可以再看看:JS基础-函数、对象和原型、原型链的关系 觉得我的博客对你有帮助的话,就给我点个Star吧!

56120
领券