面试需要了解的 10 个 JavaScript 概念
自学
成千上万的人学习 JavaScript 和 Web 开发,希望能找到工作。然而,自学往往会让人们对 JavaScript 语言本身的理解出现偏差。
令人惊讶的是,制作复杂的网页只需要很少的 JavaScript 语言知识。自己制作整个网站的人通常对 JavaScript 的基础知识掌握不够。
避开复杂的主题,用基本技能实现功能相当容易。依赖 Stack Overflow 也很容易创建网站,无需理解被复制的代码。
如果你想掌握 JavaScript 面试技巧,可以看看《提升你的 JS:中级 JavaScript 综合指南》
采访
问题在于,很多科技公司面试时都会问一些考察你对 JS 理解程度的问题。很容易就能看出,求职者的知识只够勉强过关,但对这门语言的理解不够扎实。
以下是 Web 开发面试中经常被问到的概念。假设你已经了解循环、函数和回调等基础知识。
概念
- 值 vs. 引用 ——理解对象、数组和函数是如何被复制并传递给函数的。知道被复制的是引用。理解原语是通过复制值来复制和传递的。
- 作用域 ——理解全局作用域、函数作用域和块作用域的区别。了解哪些变量在什么情况下可用。了解 JavaScript 引擎如何执行变量查找。
- 提升 ——理解变量和函数声明会被提升到其可用作用域的顶部。理解函数表达式不会被提升。
- 闭包 ——知道函数保留对其创建范围的访问权限。了解这可以让我们做什么,例如数据隐藏、记忆和动态函数生成。
this
了解绑定规则this
。了解它的工作原理,知道如何在函数中判断它等于什么,以及它为什么有用。new
— 了解它与面向对象编程的关系。了解使用 调用的函数会发生什么new
。理解使用 生成的对象如何new
继承函数的prototype
属性。apply
,,call
——bind
了解每个函数的工作原理。了解如何使用它们。了解它们的作用this
。- 原型与继承 ——理解 JavaScript 中的继承是如何通过
[[Prototype]]
继承链实现的。理解如何通过函数和对象设置继承,以及如何帮助我们实现它。了解和属性是new
什么以及它们的作用。__proto__
prototype
- 异步 JS—— 理解事件循环。了解浏览器如何处理用户输入、Web 请求和事件。了解如何识别并正确实现异步代码。理解 JavaScript 的异步和单线程特性。
- 高阶函数 ——理解 JavaScript 中函数是一等对象的含义。了解从一个函数返回另一个函数是完全合法的。理解闭包和高阶函数允许我们使用的技术。
更多资源
如果包含的链接不够,还有无数的资源可以帮助您学习这些概念。
我个人编写了《进阶 JS:中级 JavaScript 综合指南》,旨在帮助开发者提升知识水平。它涵盖了所有这些概念以及更多其他内容。
以下是我读过或看过的一些资源,可以推荐。
祝你面试顺利。
如果您发现这有用,请在下面鼓掌,以便其他人也能看到它。
请随意查看我的一些最近的作品。
文章来源:https://dev.to/arnavaggarwal/10-javascript-concepts-you-need-to-know-for-interviews