自我学习
目前有成千上万的人学习JavaScript和Web开发,希望获得工作。通常,自我学习的人们对JavaScript语言本身的理解方面留下了空白。
实际上令人惊讶的是,只需要了解非常小的一部分语言就可以来制作复杂的网页。自己制作整个网站的人通常都不了解JavaScript的基础知识。大多数人通过Bootstrap、jQuery及插件、Angular等框架直接就上手构建复杂应用去了。
使用基本技能避免复杂的主题和实现功能相当容易。通过依靠百度或技术学习网站来创建应用也不容易,但也不用理解复制的代码。
面试
那么问题来了,测试您对JS的理解的问题正是许多科技公司面试中所要求的问题。当申请人知道刚刚足够知道如何使用但对语言的理解不够清楚时,就很难堪了。小编在面试过程中经常碰到一些开发者都会如何使用,但却不了解事实本质。以下是Web开发中常见的概念需要重要的,前提是你已经了解了循环、函数和回调等基础知识。
概念
值和引用 --- 了解对象、数组和函数是通过引用进行复制和传递的。了解原始元素是按值复制和传递的。
作用域 --- 了解全局作用域,函数作用域和块作用域之间的差异。了解哪些变量在哪里可以用。了解JavaScript引擎如何执行变量查找。新出的ES6语法中申明变量关键字let、const对变量作用域的影响。
变量提升 --- 了解变量和函数声明被提升到可用范围的顶部。了解函数表达式没有提升。
闭包 --- 知道闭包是指可以访问其他函数作用域内变量的函数。知道这样做可以使我们做什么,例如创建私有变量,动态函数生成等。
this --- 知道this的绑定规则。知道它是如何工作的,知道如何找出它在函数中与之相等的,并且知道为什么它是有用的。
new --- 知道new如何与面向对象编程有关。知道使用new调用的函数会发生什么。通过函数的prototype属性了解如何使用new继承生成的对象。
apply,call,bind --- 知道这几个函数如何工作的。知道如何使用它们。知道它们做了什么。
原型和继承 --- 了解JavaScript中的继承通过prototype链进行工作。了解如何通过函数和对象设置继承,以及new函数帮我们来实现它。知道__proto__和原型属性是什么以及它们的作用。
异步JS --- 了解事件循环。了解浏览器如何处理用户输入,Web请求和一般事件。知道如何识别并正确实现异步代码。了解JavaScript是异步单线程的。
高阶函数 --- 了解函数是JavaScript中的一级对象,这意味着什么。知道从另一个函数返回函数是完全合法的。了解闭包和高阶函数允许我们使用的情况。
这们多概念需要大家去仔细学习。学习他们可以更好的帮助理解JavaScript编程。如果你觉得这篇文章对你有帮助,请关注我们前端小号头条号!~谢谢