翻译原文出处:10 JavaScript concepts you need to know for interviewsjavascript
以前不是闹得沸沸扬扬的大漠穷秋文章《为何只会Vue的都是前端小白?》;甚至大多数回头看了,也就会jQuery和Vue这两个库;也就大部分在运用着这两个库。我这里不是吐槽和开骂什么的;在以前jQuery年代,不少面试官都会问除了用jQuery来实现,能不能改写原生JavaScript来处理。也大部分人在看jQuery源码,甚至穷出不尽的底层库。html
目前有成千上万的年轻人在学习JavaScript和Web开发,但愿得到一份工做。一般,自我学习的年轻人对JavaScript语言自己不够深刻了解,在这方面留下了一片空白。前端
实际上使人惊讶的是,只须要了解很是小的一部分语言就能够来制做复杂的网页。在本身的网站上建立网站的人每每不太了解JavaScript的基本原理。大多数年轻人基本都是经过Bootstrap、jQuery及插件、Backbone或Angular等库和框架直接就搞定,并且还能构建复杂应用。java
使用基本技能来避免复杂的主题和实现功能是至关容易的。在不理解被复制的代码的状况下,经过依赖Stack Overflow、github等网站放出的demo,甚至一些建站网站来建立本身的网站是比较轻松的。react
若是您想要掌握更多的JavaScript面试相关资讯,请查看“ 提高你的JS:中级JavaScript的权威指南”git
那么问题来了,测试您对JavaScript深浅理解的问题,正是许多科技公司在面试中所要求的。当一个求职者只是恰好能经过面试,但若是不够深刻了解该语言的本质,这是很槽糕的。github
如下是Web开发中常见的概念须要重要的,前提是你已经了解了循环、函数和回调等基础知识。面试
一、值和引用 — 了解对象、数组和函数是经过引用进行复制和传递的;了解原始元素是按值复制和传递的。
二、做用域 — 了解全局做用域,函数做用域和块做用域之间的差别。了解哪些变量在哪里能够用。了解JavaScript引擎如何执行变量查找。新出的ES6语法中申明变量关键字let、const对变量做用域的影响。
三、变量提高 — 了解变量和函数声明被提高到可用范围的顶部;了解函数表达式没有提高。
四、闭包 — 知道闭包是指能够访问其余函数做用域内变量的函数。知道这样作可使咱们作什么,例如建立私有变量,动态函数生成等。
五、this — 知道this的绑定规则。知道它是如何工做的,知道如何找出它在函数中与之相等的,而且知道为何它是有用的。
六、new — 知道new如何与面向对象编程有关,知道使用new调用的函数会发生什么,经过函数的prototype属性了解如何使用new继承生成的对象。
七、apply,call,bind — 知道这几个函数如何工做的,知道如何使用它们,知道它们作了什么。
八、原型和继承 — 了解JavaScript中的继承经过prototype链进行工做,了解如何经过函数和对象设置继承,以及new函数帮咱们来实现它。知道__proto__和原型属性是什么以及它们的做用。
九、异步JS — 了解事件循环。了解浏览器如何处理用户输入,Web请求和通常事件;知道如何识别并正确实现异步代码。了解JavaScript是异步单线程的。
十、高阶函数 — 了解函数是JavaScript中的一级对象,这意味着什么;知道从另外一个函数返回函数是彻底合法的。了解闭包和高阶函数容许咱们使用的状况。编程
若是上面的知识点包含的连接还不够,那么你能够上其它网站找资源,能够帮助您学习这些概念。segmentfault
我我的建立了 提高你的JS:中级JavaScript的权威指南,以帮助开发者提升他们的知识;它涵盖了全部这些概念和更多。
这里是我已经阅读或看过的资源,至少有一些能够推荐。
Good luck for your interviews!!!!(这句你懂得)
若是你发现这颇有用,就请您点个赞,转发给其余人也看到它(这是博主原话)。
随时查看我最近的一些写的文章: