专栏首页前端博客:https://alili.tech你需要知道面试中的10个JavaScript概念

抱歉,你查看的文章已删除

你需要知道面试中的10个JavaScript概念

翻译原文出处:10 JavaScript concepts you need to know for interviews

之前不是闹得沸沸扬扬的大漠穷秋文章《为什么只会Vue的都是前端小白?》;甚至大多数回头看了,也就会jQuery和Vue这两个库https://alili.tech/archive/1je2vgj58g3j/;也就大部分在运用着这两个库。我这里不是吐槽和开骂什么的;在之前jQuery年代,很多面试官都会问除了用jQuery来实现,能不能改写原生JavaScript来处理。也大部分人在看jQuery源码,甚至穷出不尽的底层库。

自我学习

目前有成千上万的年轻人在学习JavaScript和Web开发,希望获得一份工作。通常,自我学习的年轻人对JavaScript语言本身不够深入了解,在这方面留下了一片空白。

实际上令人惊讶的是,只需要了解非常小的一部分语言就可以来制作复杂的网页。在自己的网站上创建网站的人往往不太了解JavaScript的基本原理。大多数年轻人基本都是通过Bootstrap、jQuery及插件、Backbone或Angular等库和框架直接就搞定,而且还能构建复杂应用。

使用基本技能来避免复杂的主题和实现功能是相当容易的。在不理解被复制的代码的情况下,通过依赖Stack Overflow、github等网站放出的demo,甚至一些建站网站来创建自己的网站是比较轻松的。

如果您想要掌握更多的JavaScript面试相关资讯,请查看“ 提升你的JS:中级JavaScript的权威指南

面试

那么问题来了,测试您对JavaScript深浅理解的问题,正是许多科技公司在面试中所要求的。当一个求职者只是刚好能通过面试,但如果不够深入了解该语言的本质,这是很槽糕的。

以下是Web开发中常见的概念需要重要的,前提是你已经了解了循环、函数和回调等基础知识。

概念

1、值和引用 — 了解对象、数组和函数是通过引用进行复制和传递的;了解原始元素是按值复制和传递的。 2、作用域 — 了解全局作用域,函数作用域和块作用域之间的差异。了解哪些变量在哪里可以用。了解JavaScript引擎如何执行变量查找。新出的ES6语法中申明变量关键字let、const对变量作用域的影响。 3、变量提升 — 了解变量和函数声明被提升到可用范围的顶部;了解函数表达式没有提升。 4、闭包 — 知道闭包是指可以访问其他函数作用域内变量的函数。知道这样做可以使我们做什么,例如创建私有变量,动态函数生成等。 5、this — 知道this的绑定规则。知道它是如何工作的,知道如何找出它在函数中与之相等的,并且知道为什么它是有用的。 6、new — 知道new如何与面向对象编程有关,知道使用new调用的函数会发生什么,通过函数的prototype属性了解如何使用new继承生成的对象。 7、apply,call,bind — 知道这几个函数如何工作的,知道如何使用它们,知道它们做了什么。 8、原型和继承 — 了解JavaScript中的继承通过prototype链进行工作,了解如何通过函数和对象设置继承,以及new函数帮我们来实现它。知道__proto__和原型属性是什么以及它们的作用。 9、异步JS — 了解事件循环。了解浏览器如何处理用户输入,Web请求和一般事件;知道如何识别并正确实现异步代码。了解JavaScript是异步单线程的。 10、高阶函数 — 了解函数是JavaScript中的一级对象,这意味着什么;知道从另一个函数返回函数是完全合法的。了解闭包和高阶函数允许我们使用的情况。

更多资源

如果上面的知识点包含的链接还不够,那么你可以上其它网站找资源,可以帮助您学习这些概念。

我个人创建了 提升你的JS:中级JavaScript的权威指南,以帮助开发者提高他们的知识;它涵盖了所有这些概念和更多。

这里是我已经阅读或看过的资源,至少有一些可以推荐。

Good luck for your interviews!!!!(这句你懂得)

如果你发现这很有用,就请您点个赞,转发给其他人也看到它(这是博主原话)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端Tips#7 - 用 6 行代码实现文本复制

    核心的代码片段就 6 行,利用动态创建 textarea,和 document.execCommand 命令就实现了:

    JSCON简时空
  • awk 列求和计算

    说明: [分隔符]:一般为“\t”制表符,具体视格式而定 [列数]:统计的列数索引,从1开始

    莫斯
  • 王的机器带你学 MIT 深度学习导论课

    深度学习并不是和机器学习并列的一个科目,而且用神经网络模型来处理机器学习里的有监督学习、无监督学习和强化学习这些子类 (注意这些红蓝绿颜色对应的名词),如下图所...

    用户5753894
  • 手把手带你使用c++写《超级玛丽》小游戏

    吃鸡’模式火起来之后,市面上涌现出了大量的大逃杀游戏,载具版、僵尸版,还有魔幻、武侠、三国等各种题材。最近一个国外开发者另辟蹊径,把经典游戏《超级玛丽》改成了大...

    诸葛青云
  • 循环神经网络之LSTM

    01 — 回顾 昨天推送了循环神经网络LSTM的前半部分,说到构成其网络模型:输入层包含一系列时序:x0, x1, ..., xt,隐含层是实现 Long-te...

    企鹅号小编
  • 【机器学习课程】经典算法之——AdaBoost在量化投资中的应用(附代码和很多论文资料)

    1算法简介 AdaBoost是由Yoav Freund和Robert Schapire提出自适应增强的一种机器学习方法。AdaBoost算法的自适应在于:前一个...

    量化投资与机器学习微信公众号
  • 深度 | 随机计算图:在随机结点中执行反向传播的新方法

    机器之心

扫码关注云+社区

领取腾讯云代金券