技术原理

2020年必须准备的前50个JavaScript面试问题

JavaScript面试问题

JavaScript是Brendan Eich在1995年创建的,旨在给网页带来比标签所能提供的更多的活力。如今,它有着更强大的用途,谷歌和Facebook等公司使用JavaScript构建复杂的、类似桌面的web应用程序。随着Node.js节点,它也成为构建服务器端软件的最流行语言之一。今天,即使是web也不足以容纳JavaScript的多功能性。我相信你已经意识到了这些事实,这让你登上了这篇JavaScript面试问题的文章。

,因此,如果你打算开始你的JavaScript职业生涯,并且你希望了解与之相关的技能,那么现在正是你深入研究的时候,当技术处于蓬勃发展的状态时。JavaScript面试问题将为您提供深入的知识并帮助您准备面试。

JavaScript面试问题分为三个部分:

初级中级高级

让我们从JavaScript面试问题的第一部分开始。

JavaScript面试问题和答案| Edureka

这段关于“JavaScript面试问题”的视频将帮助您为JavaScript面试做好准备。

初级JavaScript面试问题Q1。Java和JavaScript有什么区别?JavaJavaScriptJava是一种面向对象的编程语言。JavaScript是一种面向对象的脚本语言。它创建在虚拟机或浏览器中运行的应用程序。代码仅在浏览器上运行。需要编译Java代码。JavaScript代码都是文本形式的。问题2。什么是JavaScript?”

“JavaScript是一种轻量级的解释性编程语言,具有面向对象的功能,允许您将交互性构建到其他静态HTML页面中。该语言的通用核心已经嵌入到Netscape、Internet Explorer和其他web浏览器中。JavaScript支持哪些数据类型?

Data types - JavaScript interview questions

JavaScript支持的数据类型是:

未定义的空布尔字符串符号编号对象Q4。JavaScript有哪些特性?

Features - JavaScript Interview Questions

以下是JavaScript的特性:

这是一种轻量级的解释性编程语言。它是为创建以网络为中心的应用程序而设计的。它是对Java的补充和集成。它是一种开放的跨平台脚本语言。问题5。JavaScript是区分大小写的语言吗?”

“是的,JavaScript是一种区分大小写的语言。语言关键字、变量函数名和任何其他标识符都必须以字母的大小写进行键入。”

“Q6。JavaScript的优点是什么?”下面的

JavaScript advantages - JavaScript interview questions是使用JavaScript的优点–

更少的服务器交互––您可以在将页面发送到服务器之前验证用户输入。这节省了服务器通信量,这意味着服务器上的负载更少。立即反馈给访问者-他们不必等待页面重新加载,以查看是否忘记输入内容。增强的交互性——当用户用鼠标悬停在界面上或通过键盘激活界面时,您可以创建界面进行反应。更丰富的界面——您可以使用JavaScript包含拖放组件和滑块等项,为您的站点访问者提供丰富的界面。如何用JavaScript创建一个对象?”

的JavaScript非常支持对象概念。您可以使用对象文本创建一个对象,如下所示–

变量emp={年龄:23岁问题8。如何在JavaScript中创建数组?”

“可以使用数组文字定义数组,如下所示-

变量y=[1,2,3,4,5];}Q10.能否将匿名函数赋给变量,并将其作为参数传递给另一个函数?”

“是的!匿名函数可以分配给变量。它也可以作为参数传递给另一个函数。

Q11.JavaScript中的参数对象是什么&如何获取传递给函数的参数类型“JavaScript变量参数表示传递给函数的参数。使用type of运算符,我们可以获取传递给函数的参数类型。例如–

函数func(x){}问题12.JavaScript中变量的作用域是什么?”

“变量的作用域是程序中定义它的区域。JavaScript变量将只有两个作用域。•全局变量——全局变量具有全局范围,这意味着它在JavaScript代码中随处可见。•局部变量——局部变量仅在定义它的函数中可见。函数参数总是该函数的本地参数。

Q13。JavaScript中“This”运算符的用途是什么

“这个关键字所指的JavaScript是它所属的对象。根据使用位置的不同,它有不同的值。在方法中,这是指所有者对象,在函数中,这是指全局对象。

Q14。什么是回调

“回调是作为参数或选项传递给某个方法的普通JavaScript函数。它是在另一个函数完成执行后执行的函数,因此被命名为“回调”。在JavaScript中,函数是对象。因此,函数可以将函数作为参数,也可以由其他函数返回。

CallBack - JavaScript interview questionsQ15。什么是结束?举个例子。”每当从某个内部作用域访问在当前作用域之外定义的变量时,就会创建

“闭包。它允许您从内部函数访问外部函数的作用域。在JavaScript中,每次创建函数时都会创建闭包。要使用闭包,只需在另一个函数中定义一个函数并公开它。命名一些内置方法及其返回的值。内置方法值CharAt()返回指定索引处的字符。它连接两个或多个字符串。它为数组中的每个元素调用一个函数。index of()返回指定值第一次出现时调用字符串对象内的索引。它返回字符串的长度。pop()从数组中删除最后一个元素并返回该元素。push()它将一个或多个元素添加到数组的末尾,并返回数组的新长度。reverse()它反转数组元素的顺序。问17.JavaScript中的变量命名约定是什么?”

“在JavaScript中命名变量时应遵循以下规则:

不应将JavaScript保留关键字中的任何一个用作变量名。例如,break或boolean变量名无效。JavaScript变量名不应以数字(0-9)开头。它们必须以字母或下划线字符开头。例如,123name是一个无效的变量名,但123name或name123是一个有效的变量名。JavaScript变量名区分大小写。例如,Test和Test是两个不同的变量。问题18.这类操作员是如何工作的?”

“type of运算符用于获取其操作数的数据类型。操作数可以是文本或数据结构,如变量、函数或对象。它是一个一元运算符,放在它的单个操作数之前,操作数可以是任何类型。它的值是一个字符串,指示操作数的数据类型。

Q19。如何使用JavaScript创建cookie

“创建cookie的最简单方法是为文档.cookie对象,如下所示-

语法:

文档.cookie“key1=value1;key2=value2;expires=date”;时间,当页会话结束时,存储在会话存储中的数据将被清除。当浏览器关闭时,会话存储将离开。

Q28。运算符“==”&“==”之间有什么区别

“在”==”和“==”运算符之间的主要区别是以前通过进行类型更正来比较变量,例如,如果您将数字与带有数字文本的字符串进行比较,==允许这样做,但===不允许这样做,因为它不仅检查两个变量的值,而且还检查两个变量的类型,如果两个变量的类型不相同“==”返回false,而“==”返回true。

Q29。空与未定义之间有什么区别“未定义”表示变量已声明但尚未赋值。另一方面,null是赋值。它可以作为无值的表示分配给变量。另外,undefined和null是两种不同的类型:undefined是一种类型本身(undefined),而null是一个对象。

Q30。undeclared和undefined之间的区别是什么

“未声明的变量是程序中不存在且未声明的变量。如果程序试图读取未声明变量的值,则会遇到运行时错误。未定义的变量是那些在程序中声明但没有被赋予任何值的变量。如果程序试图读取未定义变量的值,则返回未定义值。

Q31。将某些JavaScript框架命名为

JavaScript Frameworks - JavaScript interview questionsJavaScript框架是用JavaScript编写的应用程序框架。它的控制流与JavaScript库不同。有许多JavaScript框架可用,但一些最常用的框架是:

Angular React Vue Q32。在JavaScript中,window和document有什么区别?窗口文档JavaScript窗口是一个全局对象,它包含变量、函数、历史记录和位置。文档也位于窗口之下,可以视为窗口的属性。Q33.innerHTML和innerText之间有什么区别?”

“innerHTML–如果在字符串

innerText中找到,它将处理HTML标记–如果在字符串

Q34中找到,它将不处理HTML标记。什么是JavaScript中的事件冒泡当一个事件发生在另一个元素中的某个元素中,并且两个元素都为该事件注册了句柄时,

“事件冒泡是HTML DOM API中事件传播的一种方式。使用冒泡,事件首先被最内部的元素捕获和处理,然后传播到外部元素。执行从该事件开始并转到其父元素。然后执行传递给其父元素,依此类推,直到body元素。

Q35。JavaScript中的NaN是什么

“NaN是非数字的缩写。由于NaN总是与任何数字(包括NaN)进行不相等的比较,因此通常用于指示函数返回有效数字的错误条件。当字符串或其他内容被转换为数字而无法完成时,然后我们会看到NaN.

Q36.JavaScript原语/对象类型如何传入函数

“两者的区别之一是原始数据类型是按值传递的,而对象是按引用传递的。”

“按值”意味着创建原始数据的副本。把它想象成双胞胎:他们生下来是完全一样的,但是当第二个双胞胎在战争中失去他的时候,第一个双胞胎并没有失去一条腿。通过引用意味着创建原始文件的别名。当你妈妈叫你“南瓜派”的时候,虽然你的名字叫玛格丽特,但这并不会突然产生一个克隆人:你仍然是一个,但你可以被这两个完全不同的名字所称呼。Q37.如何在JavaScript中将任何基数的字符串转换为整数?”

“parseInt()函数用于在不同的基数之间转换数字。它将要转换的字符串作为第一个参数,第二个参数是给定字符串的基。

例如-

parseInt(“4F”,16)//------ 库js------导出常量sqrt=数学.sqrt(二)返回x*x}}{正方形,diag}来自'lib';控制台.log(diag(4,3));//5

现在,我们已经进入了JavaScript面试问题的最后一部分。

高级JavaScript面试问题Q40。JavaScript中的“严格”模式是什么,如何启用它

“Strict mode是将更好的错误检查引入代码的一种方式。”

“使用Strict mode时,不能使用隐式声明的变量,不能为只读属性赋值,也不能为不可扩展的对象添加属性。通过在文件、程序或函数的开头添加“use strict”,可以启用严格模式。什么是JavaScript中的提示框?”

“提示框是一个允许用户通过提供文本框输入输入的框。prompt()方法显示一个对话框,提示访问者输入。如果希望用户在输入页面之前输入值,则通常使用提示框。当弹出一个提示框时,用户在输入一个输入值后必须单击“确定”或“取消”以继续操作。

Q42。下面的代码输出是什么

变量Y=1;{y =F型控制台.log(y) (二);

输出将被取消定义。if条件语句使用eval求值,因此eval(函数f(){})返回函数f(){}(这是真的)。因此,在if语句中,执行typeof f返回undefined,因为if语句代码在运行时执行,而if条件中的语句是在运行时计算的。

Q43.Call&Apply之间的区别是什么

“call()方法调用具有给定此值和单独提供的参数的函数。

语法-

有趣的电话(此arg[,arg1[,arg2[,…]])

apply()方法调用具有给定此值的函数,并将参数作为数组提供。

语法-

有趣的应用(这个参数,[argsArray])Q44.如何在JavaScript中清空数组?“

“有很多方法可以用来清空数组:

方法1–

arrayList=[]上面的代码

将变量arrayList设置为新的空数组。如果在其他地方没有对原始数组arrayList的引用,则建议这样做,因为它实际上会创建一个新的空数组。您应该小心使用此方法清空数组,因为如果您已从另一个变量引用此数组,则原始引用数组将保持不变。

方法2–

数组列表长度=0;

上面的代码将通过将现有数组的长度设置为0来清除该数组。这种清空数组的方法还将更新指向原始数组的所有引用变量。因此,当您要更新指向arrayList的所有引用变量时,此方法非常有用。

方法3–

阵列列表拼接(0,数组列表长度);

上述实现也将完美工作。这种清空数组的方法还将更新对原始数组的所有引用。

方法4-

当(数组列表长度){}

上面的实现也可以清空数组,但通常不建议经常使用此方法。

Q45。以下代码的输出是什么

变量输出=(函数(x)删除X;返回X;}控制台.log(输出);

输出为0。delete运算符用于从对象中删除属性。这里x不是一个对象,而是一个局部变量。delete运算符不影响局部变量。

Q46。以下代码的输出是什么

变量X={Foo:1};{返回X.foo;)();

输出将未定义。delete运算符用于删除对象的属性。这里,x是一个具有foo属性的对象,由于它是一个自调用函数,我们将从对象x中删除foo属性。这样做之后,当我们试图引用一个已删除的foo属性时,结果是未定义的。

Q47。下面的代码将输出什么

var员工={公司:“xyz”变量Emp1=对象.创建(雇员);删除Emp1.company控制台.log(emp1.公司);

输出为xyz。在这里,emp1对象的原型属性是company。delete运算符不删除prototype属性。emp1对象没有公司作为其自己的属性。但是,我们可以使用delete直接从Employee对象中删除company属性雇员公司

Q48.下面的代码输出是什么?

//nfe(命名函数表达式)var Foo=函数条()返回7;};条形图类型();

输出将是引用错误。函数定义只能有一个引用变量作为函数名。

Q49。将JavaScript源文件的全部内容包装到函数书中的原因是什么

“这是一种越来越普遍的做法,被许多流行的JavaScript库采用。这种技术围绕文件的整个内容创建一个闭包,这可能是最重要的,它创建了一个私有名称空间,从而有助于避免不同JavaScript模块和库之间潜在的名称冲突。此技术的另一个特点是允许全局变量的简单别名。这通常用于jQuery插件。

Q50。JavaScript中的转义字符是什么

“JavaScript转义字符使您能够在不中断应用程序的情况下编写特殊字符。转义字符(反斜杠)用于处理特殊字符,如单引号、双引号、撇号和与号。在字符前加反斜杠使其显示。例如

文档.write“我是个‘好’孩子”

带着这个,我们来到了JavaScript访谈问题博客的末尾。我希望这些JavaScript面试问题能对你的面试有所帮助。如果您最近参加过任何JavaScript面试,请将面试问题粘贴到评论部分,我们会回答您的问题。如果您有任何问题,您也可以在下面发表评论,这些问题可能会出现在您的JavaScript面试中。

如果您希望学习JavaScript并构建自己的应用程序,那么请查看我们的全堆栈Web开发人员主程序,该程序附带有讲师指导的现场培训和实际项目体验。此培训使您精通使用后端和前端web技术的技能。它包括Web开发、jQuery、Angular、NodeJS、ExpressJS和MongoDB方面的培训?请在“JavaScript面试问题”博客的评论部分提到它,我们会给您回复。

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
人工智能培训课程排名 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录