Tim Buchalka.

JavaScript是一种面向对象的脚本语言,它已经从一种操作静态HTML和CSS网站的手段发展成为当今最动态和交互式网站的支柱。它近年来越来越受欢迎,因为它已经从一种基于浏览器的语言扩展到了众多的开发框架,如React、Angular和Vue。bob外围官网因此,市场上通常有大量的JavaScript开发工作。bob外围官网

面对你的第一次JavaScript求职面试并不是那么令人生畏。如果你知道如何用JavaScript编写代码并构建完整的前端应用程序,那么在面试中回答他们提出的问题就没有问题了。尽管如此,在面试前尽可能多地准备面试问题还是很重要的。你永远不知道他们是否会问与你日常工作无关的问题,或者你很少使用的框架。

我们整理了一份清单,列出了你在下次JavaScript面试中可能会遇到的最常见的面试问题,以帮助你。快速复习这些题会刷新你的语言知识,给你提供正确答案的信心。

开发人员完整的Javascript课程

最后更新1月2021年

  • 53个讲座
  • 初学者水平
4.6 (239)

快速学习JavaScript。这个JavaScript类将教你JavaScript基础和初学者友好|蒂姆·布查尔卡(Tim Buchalka)的《编程学习学院》(Learn Programming Academy),查尔斯·e·布朗(Charles E. Brown)著

探索课程

53个JavaScript面试常见问题

这是一个很长的问题列表,面试官很可能只会问其中的一些问题,但每一个都测试一下自己也无妨。你知道的问题越多,你在面试时就越有信心。

1)什么是JavaScript?

如上所述,Javascript不再仅仅是一种轻量级语言。它已经成为一种强大的、面向对象的解释型编程语言,为HTML页面添加了动态功能。所有流行的web浏览器都将其作为脚本语言使用。它也用于后端在NodeJS等平台中创建服务。

2)如何将JavaScript添加到网页中?

您可以使用脚本标记将JavaScript嵌入到网页中,例如下面的示例:

 Your Page title 




 



  

3)如何在JavaScript中添加注释?

您可以向JavaScript添加行注释或块注释。

//这是一个行注释。它必须保持在一条线上。

/*这是一个

块注释。它可以

你想要多行就多行

4)仍然存在局部和全局变量吗?

在现代JavaScript中,全局变量和局部变量的指定变得更加精确。根据定义,全局变量可以从程序中的任何地方访问,并且在程序中具有“全局作用域”或全局可见性。局部变量是临时变量,在生成它们的函数中只有一个作用域,并且具有“局部作用域”。

//如何声明局部变量

在旧版本的JavaScript中,使用关键字“var”声明变量。在现代JavaScript中,var已经被关键字let所取代。因此,全局变量和局部变量之间的区别变得更加明确。你可以使用“let”声明一个变量:

让myFirstName = " John ";

如果变量不在函数、If块或循环中,则该变量在作用域内为全局变量。

5) JavaScript支持什么数据类型?

JavaScript支持的数据类型是:

6)JavaScript是一个区分大小写的语言吗?

是的,JavaScript是一种差别敏感的语言。当您命名变量时,必须使用确切的情况再次访问该变量。出于这个原因,与大多数别的语言一样,它是使用Camelback概念的标准做法,其中一切都是小写的小写字母。例如:

让myFirstName = " Mary ";

这是什么Java和JavaScript之间的区别

Java是一种面向对象的、编译的编程语言,设计用于在Java虚拟机中运行。JavaScript是一种面向对象的解释性脚本语言,设计用于在浏览器或像NodeJS这样的JavaScript引擎中运行。

在JavaScript中null和undefined的区别是什么?

当你声明一个没有赋值的变量时,它是未定义的,如下所示:

var x;

Null实际上需要赋值给一个变量:

Var x = null;

这在JavaScript中意味着什么?

JavaScript中的此关键字引用了该函数正在运行的对象。

如何在JavaScript中创建一个对象?

在现代JavaScript中,有几种创建对象的方法。你甚至可以像Java一样使用关键字“new”。然而,在后台,JavaScript使用一个名为JSON的对象表示法,它代表JavaScript对象表示法。在其最简单的。你可以使用JSON在JavaScript中创建一个对象,如下所示:

var customer = {name: "John Doe", age: 32};

如何在JavaScript中创建数组?

你可以在JavaScript中使用对象字面量来创建一个数组,如下所示:

var emptyArray = [];var populatedArray = ['a', 'b', 'c', 'd', 'e'];

13) JavaScript中有多少类型的函数?

有两种类型。JavaScript中的函数是使用函数关键字分配创建名称时的命名函数。函数是一个匿名函数,当它没有创建名称时。

var、const和let的区别是什么?

如上所述,“让”已成为声明变量的方法。关键字“const”声明一个变量,其值不会更改。但是,您仍可能遇到使用遗留代码中使用“var”的应用程序。以下是三种可能性,但再次,几乎没有理由使用“var”:

JavaScript中的继承是什么?

作为一种面向对象的脚本语言,JavaScript使用原型或差异继承,而不是基于类的编程语言(如Java和c#)中的经典继承。在编程中,差异继承是指一个对象获得另一个对象的属性。

在基本术语中,差异继承工作通过假设对象是其他通用对象的衍生物,根据其差异设置这些对象。

ES6及后续版本的JavaScript语言使用基于类的继承,但为了在所有浏览器中工作,这通常会编译成原型JavaScript。

例子:

//创建并定义成人。function Adult() {} Adult.prototype.speak = function(){alert('我是一个成年人!');};Adult.prototype。workDay= function(){alert('我得去上班');};//创建并定义Studentfunction Student(){//调用Adult函数。Adult.call(这个);} //告诉学生继承成人。 Student.prototype = new Adult(); Student.prototype.constructor = Student; // Change the workDay method. Student.prototype.workDay= function(){ alert('I have to do my homework.'); } // add speakGoodbye method Student.prototype.speakGoodbye= function(){ alert('I am going to the library. Goodbye.'); } var studentA = new Student(); studentA.workDay(); studentA.speak(); studentA.speakGoodbye(); // To check for inheritance: alert(studentA instanceof Adult); // Returns true. alert(studentA instanceof Student); // Returns true.

==和===之间的区别是什么?

双重符号==检查平等。三重等号===检查平等和类型。

JavaScript中有哪些不同的布尔运算符?

区别如下:

isNaN()函数做什么?

函数的作用是:判断一个值是非数值还是非法数值。如果参数不是数字,isNaN()函数将返回true。如果一个变量需要计算一个应该返回一个数字但没有返回的表达式,那么它也可以返回NaN(不是一个数字)。

19)在JavaScript中,你可以使用匿名函数作为另一个函数的参数吗?

是的。可以将匿名功能分配给变量,然后作为参数传递给另一个函数。

20)JavaScript方法调用数组中每个元素的函数?

forEach方法为数组中的每个元素调用一个函数。

Var list = [1,2,3,4];list.forEach(函数(元素){console.log(元素);//将在新行上记录每个元素。});

JavaScript使用什么类型的系统?

JavaScript使用动态键入并支持自动类型转换。

JavaScript支持什么样的循环函数?

JavaScript支持三种类型的循环函数:

还有一些更专门的循环,如forEach。

JavaScript支持什么样的条件语句?

下面是JavaScript支持的条件语句:

什么是HTML DOM?

一旦网页加载,浏览器就会生成页面的DOM或文档对象模型。DOM充当HTML的编程接口,它定义HTML属性、事件和方法。它还将HTML元素作为对象引用。

JavaScript依赖于这个DOM来改变页面的元素和属性,并创建它所熟知的动态网站。下面是一张很有用的图片,展示了HTML DOM对象的层次结构:

官方的WAM WID Web Consortium Page for DOM将它定义为:

文档对象模型是一个与平台和语言无关的接口,它允许程序和脚本动态访问和更新文档的内容、结构和样式。

您可以进一步处理文档,并将处理结果合并到所显示的页面中。

在JavaScript中定时器是如何工作的?

使用计时器,编码器可以设置代码在特定时间执行,一次或重复间隔。在JavaScript中有三个设置计时器的函数:

//创建一个按钮,点击后执行exampleTimer函数。<按钮onclick = " exampleTimer ()“>点击这里! //定义exampleTimer函数,在点击2000毫秒后创建一个警告框。