翻译原文:面试你需要知道的10个JavaScript概念甚至他们中的大多数人回头看,他们会jQuery和Vue这两个库;他们中的大多数都在使用这两个库。我不是来抱怨或责骂的;在之前的jQuery时代,很多面试官会问除了使用jQuery之外,是否可以重写原生JavaScript来处理。大多数人也在看jQuery源码,甚至是无穷无尽的底层库。自学目前有成千上万的年轻人正在学习JavaScript和Web开发,希望能找到一份工作。通常,自学成才的年轻人对JavaScript语言本身的理解并不深刻,在这方面存在差距。制作复杂的网页只需要很少的语言知识,这真是令人惊讶。自己创建网站的人通常对JavaScript的基础知识知之甚少。大多数年轻人基本上是直接通过Bootstrap、jQuery和插件、Backbone或Angular等库和框架来完成的,他们也可以构建复杂的应用程序。使用基本技能可以很容易地避免复杂的主题和实现功能。在不理解复制的代码的情况下,依靠StackOverflow、github等网站发布的demo,甚至是一些建站网站,搭建自己的网站还是比较容易的。想了解更多JavaScript面试,请查看《ImprovingYourJS:TheDefinitiveGuidetoIntermediateJavaScript》面试题来了,考验你对JavaScript的理解。必需的。当求职者仅够通过面试,但对语言的本质没有深刻理解时,这很糟糕。以下是Web开发中需要重视的常见概念,前提是您已经了解循环、函数和回调等基础知识。概念一、值和引用——理解对象、数组和函数是通过引用复制和传递的;了解原始元素是按值复制和传递的。2.作用域——了解全局作用域、函数作用域和块作用域之间的区别。知道哪些变量在哪里可用。了解JavaScript引擎如何执行变量查找。新的ES6语法声明变量关键字let和const对变量作用域的影响。3.变量提升——理解变量和函数声明被提升到可用范围的顶部;了解函数表达式不会被提升。4.闭包——知道闭包是可以访问其他函数范围内的变量的函数。知道这样做可以让我们做什么,比如创建私有变量,动态函数生成等。5.this——知道this的绑定规则。知道它是如何工作的,知道如何找出它在函数中的等价物,并且知道它为什么有用。6.new—了解new与面向对象编程的关系,了解用new调用的函数会发生什么,并学习如何使用new通过函数的原型属性继承生成的对象。7.apply,call,bind——知道这些函数是如何工作的,如何使用它们,以及它们的作用。8.PrototypeandInheritance——理解JavaScript中的继承是通过原型链来实现的,理解如何通过函数和对象来设置继承,以及帮助我??们实现的新函数。了解什么是__proto__和原型属性以及它们的作用。9.异步JS——理解事件循环。了解浏览器一般如何处理用户输入、网络请求和事件;知道如何识别并正确实现异步代码。了解JavaScript是异步的和单线程的。10.高阶函数——了解函数在JavaScript中是一等对象的含义;知道从另一个函数返回一个函数是完全合法的。看看闭包和高阶函数允许我们做什么。更多资源如果以上链接不够,您可以在其他站点上找到可以帮助您了解这些概念的资源。我个人创建了BoostYourJS:TheDefinitiveGuidetoIntermediateJavaScript来帮助开发者提高他们的知识;它涵盖了所有这些概念以及更多内容。以下是我读过或看过的资源,至少是我可以推荐的一些资源。YouDon'tKnowJSJavaScriptisSexyjavascript.comFrontendMastersEloquentJavaScriptGoodluckofyourinterviews!!!!(这句话你懂的)如果觉得有用,请点个赞,转发给其他人看看(这是博主原创字)。请随时查看我最近的一些文章:升级你的JS:中级JavaScript的权威指南那边学JavaScript难吗?10JavaScriptDifficultiesYouNeedtoKnow25JavaScriptInterviewQuestions说说javascript语法中的一些难点(一)说说javascript语法中的一些难点(二)JavaScript技术难点(三)this、new、apply和call详解
