课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
JavaScript编程开发语言是我们在进行软件开发和网页设计中经常使用的一种动效语言,下面我们就一起来了解一下,程序员JavaScript面试都有哪些常见问题。
1、JavaScript中的作用域(scope)是指什么
在JavaScript中,每个函数都有自己的作用域。作用域基本上是变量以及如何通过名称访问这些变量的规则的集合。只有函数中的代码才能访问函数作用域内的变量。
同一个作用域中的变量名必须是的。一个作用域可以嵌套在另一个作用域内。如果一个作用域嵌套在另一个作用域内,内部作用域内的代码可以访问另一个作用域的变量。
2、解释JavaScript中的相等性
JavaScript中有严格比较和类型转换比较:
严格比较(例如===)在不允许强制转型的情况下检查两个值是否相等
抽象比较(例如==)在允许强制转型的情况下检查两个值是否相等
3、解释什么是回调函数,并提供一个简单的例子。
回调函数是可以作为参数传递给另一个函数的函数,并在某些操作完成后执行。下面是一个简单的回调函数示例,这个函数在某些操作完成后打印消息到控制台。
4、“use strict”的作用是什么?
use strict出现在JavaScript代码的顶部或函数的顶部,可以帮助你写出更安全的JavaScript代码。如果你错误地创建了全局变量,它会通过抛出错误的方式来警告你。
5、解释事件冒泡以及如何阻止它
事件冒泡是指嵌套深的元素触发一个事件,然后这个事件顺着嵌套顺序在父元素上触发。
防止事件冒泡的一种方法是使用event.cancelBubble或event.stopPropagation()(低于IE 9)。
6、JavaScript中的let关键字有什么用?
除了可以在函数级别声明变量之外,ES6还允许你使用let关键字在代码块({..})中声明变量。
7、如何在JavaScript中比较两个对象?
对于两个非原始值,比如两个对象(包括函数和数组),==和===比较都只是检查它们的引用是否匹配,并不会检查实际引用的内容。
例如,默认情况下,数组将被强制转型成字符串,并使用逗号将数组的所有元素连接起来。所以,两个具有相同内容的数组进行==比较时不会相等
8、你能解释一下ES5和ES6之间的区别吗?
ECMAScript 5(ES5):ECMAScript的5版,于2009年标准化。这个标准已在所有现代浏览器中完全实现。
ECMAScript 6(ES6)或ECMAScript 2015(ES2015):6版ECMAScript,于2015年标准化。这个标准已在大多数现代浏览器中部分实现。
作者:FullStack.Cafe
译者:无明
节选:infoq
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。