文档章节

不仅仅是面试,JavaScript 开发者都应该知道的十个概念

编辑部的故事
 编辑部的故事
发布于 2017/09/05 18:35
字数 928
阅读 7.9K
收藏 164

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

自学

现在学习 JavaScript 和 Web 开发的人很多,他们都希望能凭此获得一份工作。然而,自学常常会使学习者对 JavaScript 语言本身的理解存在知识盲点。

实际上,令人感到惊讶的是,他们只需要掌握很少的语言知识就能制作复杂的网页,然而这样通常不能很好掌握 JavaScript 的基础知识。

使用基本的技能来实现功能和避免复杂的需求是相当容易的,通过依赖 Stack Overflow,而不理解复制来的代码以创建一个网站也是十分容易。

面试

但问题是,许多技术公司在面试中提问时,目的是检验你对 JavaScript 是否真正理解。当求职者只是对 JavaScript 有浅显的认识,而不是深刻理解这门语言,面试官会很快清楚是什么情况。

下面是一些 Web 开发面试中常见的概念。当然,我们假设你已经熟知诸如循环、函数和回调这些基本概念。

概念

1. 原始值和引用值(Value vs. Reference)

理解对象、数组和函数是如何复制和传递到函数中的。了解引用值是被复制了什么,理解原始值是通过复制值来进行复制和传递的。

2. 域(Scope)

理解全局域、函数域以及块级作用域之间的区别。了解变量在哪里是可用的,了解 JavaScript 引擎如何执行变量查找。

3. 提升(Hoisting)

认识到变量和函数的声明会被提升到声明所在的上下文,即在变量的作用域内,不管变量在何处声明,都会被提升到作用域的顶部,但是变量初始化的顺序不变。认识到函数表达式不会被提升。

4. 闭包(Closures)

认识到一个函数会保留对在其内部创建的域的访问,认识到这些可以让我们做什么,例如数据隐藏、内存化以及动态函数生成。

5. this

理解 this 绑定的规则。知道它的工作机制,知道在函数中如何判断它等同于什么,并且认识到为什么它是有用的。

6. new

认识到它如何与面向对象编程产生联系。了解通过 new 调用的函数会发生什么。理解通过使用 new 来自函数 prototype 属性的继承的对象是如何生成的。

7. applycallbind

了解这些函数是如何工作的,了解如何使用它们。了解它们对 this 做了什么。

8. 原型和继承(Prototypes & Inheritance)

理解 JavaScript 中的继承通过 [[Prototype]] 链进行工作。理解如何通过函数和对象设置继承,以及 new 是如何帮助我们实现的。了解 __proto__ 和 prototype 属性是什么,以及它们的作用。

9. 异步 JS(Asynchronous JS)

理解事件循环,理解浏览器是如何处理用户输入、Web 请求和一般事件的。知道如何识别并正确实现异步代码。理解 JavaScript 中异步和单线程分别是怎样的。.

10. 高阶函数(Higher Order Functions)

理解这些函数是 JavaScript 中的第一类对象以及这意味着什么,了解从另一个函数返回函数是完全合法的。了解闭包和高阶函数允许我们使用的技术。

大家还有什么补充的吗,在评论区和大家分享吧~

译自:https://codeburst.io/

© 著作权归作者所有

编辑部的故事

编辑部的故事

粉丝 1630
博文 277
码字总数 567130
作品 0
深圳
运营/编辑
私信 提问
加载中

评论(8)

o紫木o
o紫木o
为什么我面试的前端职位从来不问这些问题,捉急。
戎码生涯
戎码生涯
我就佩服js程序员想一统天下的想法,搞出那么多前端框架还搞出后端框架,一个人都干完了其他人得失业
gggggame
gggggame
你说的我都不会,但{"error":1,"msg":"评论内容不能为空"} 这个是咋 回事
张亦俊
张亦俊
从后往前学反而会比较直观,可惜现在网上搜到的资料都是从前往后的……
yugihuang
yugihuang
推荐看几遍《高设》
久永
久永
对于其它语言属于基本基础知识的内容,对Web程序员果然都是晋升水平。JS还真是如JSer宣传的那样容易上手啊!
TerryZ
TerryZ
😨
DennisXiong
DennisXiong
学习ts即可
JavaScript 需要掌握的知识

不仅仅是面试,JavaScript 开发者都应该知道的十个概念 深入理解javascript原型和闭包(完结) javascript深入理解js闭包 js作用域 JS之作用域与闭包 JavaScript内存优化 可爱的小熊 js内存回...

IT追寻者
2016/06/25
116
0
JavaScript 开发者都应该知道的十个概念,你知道几个?

自学 现在学习 JavaScript 和 Web 开发的人很多,他们都希望能凭此获得一份工作。然而,自学常常会使学习者对 JavaScript 语言本身的理解存在知识盲点。 实际上,令人感到惊讶的是,他们只需...

Java高级架构师
2018/12/11
0
0
前端面试&笔试&错题指南(三)

JavaScript排坑指南(三) JavaScript总是给人以惊喜,学习不止,进步不断,今天继续补充JS容易搞错的几道笔试/面试题,为了秋招继续努力,欢迎一起为秋招努力的小伙伴共勉 ------------------...

Vincent Ko
2018/08/12
0
0
如何在 JavaScript 面试中过五关斩六将?

作者 | Mohammad Ayub 译者 | 谭开朗 责编 | 屠敏 出品 | CSDN(ID:CSDNNews) 以下为译文: 应对 JS 面试,本文至少算是必备常识。如果我是候选人,我会争取很好地掌握这些概念。如果我是面...

CSDN资讯
2019/03/18
0
0
JavaScript面试的完美指南(开发者视角)

摘要: 面试季手册。 原文:javascript 面试的完美指南(开发者视角) 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 为了说明 JS 面试的复杂性,首先,请尝试给出以下结果: 十有八...

Fundebug
2019/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python设置搜索路径,以及外层文件调用时路径变动问题

通过sys.path设置路径 import syssys.path.append("待加入的搜索路径") 修改python环境变量 编辑 ~/.profile 文件:export PYTHONPATH= $PYTHONPATH:搜索路径临时修改方法:直接在命令...

hc321
56分钟前
9
0
一个开源的跨平台音乐播放与音乐下载器

跨平台的音乐播放器 目前国内的linux平台上的音乐播放器不多,除了网易云比较多人使用的。 当然Listen1也是一个不错的选择,真正的跨平台,包括Android/Mac/Win/Linux以及Chrome插件,目前尚...

氷泠
今天
18
0
联盟之畔,算力之颠——超算产业峰会,邀你共享

2020年5月30日,在成都首座万豪酒店,一场关于【算力之巅 超算产业峰会】正在如火如荼进行着,Tokenlnsight联合多位算力界代表人物参与此次峰会,一起探讨挖矿与财富机遇的话题,星际联盟也很...

IPFS星际联盟
今天
12
0
Oracle学习(五) --- 视图、序列、同义词、索引

1、视图 1.1、什么是视图 视图就是一个虚拟表,实体表的映射。 什么时候使用视图 在开发中,有一些表结构是不希望过多的人去接触,就把实体表映射为一个视图。(表结构简化) 在项目过程中,程...

庭前云落
今天
27
0
设置JavaScript函数的默认参数值 - Set a default parameter value for a JavaScript function

问题: I would like a JavaScript function to have optional arguments which I set a default on, which get used if the value isn't defined (and ignored if the value is passed). 我......

javail
今天
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部