100个最常问的JavaScript面试问答-第1部分

网友投稿 545 2022-05-30

JavaScript(JS)是一种具有一流功能的轻量级,解释性或即时编译的编程语言。尽管它是最著名的网页脚本语言,但许多非浏览器环境也使用它,例如Node.js,Apache CouchDB和Adobe Acrobat。JavaScript是基于原型的,多范式,单线程的动态语言,支持面向对象,命令式和声明式(例如,函数式编程)样式。

我们将通过回答最常见的javascript面试问题来学习JavaScript。

问题1.什么是JavaScript?

答:JavaScript的高级定义是:

JavaScript是一种脚本语言,使您能够创建动态更新的内容,控制多媒体,动画图像以及几乎所有其他内容。

JavaScript是最流行的Web脚本语言,用于客户端和服务器端开发。

支持面向对象的编程能力。

可以将JavaScript代码插入HTML页面,Web浏览器可以理解和执行这些页面。

问题2.JavaScript中有哪些基本类型?或者解释JavaScript中各种数据类型?

答:JavaScript支持的数据类型有:

String

Number

Boolean

Symbol

BigInt

Null

Undefined

问题3.undefined和null在JavaScript中有什么区别?

答:

undefined 是默认值

未分配特定值的变量。

没有显式返回值的函数。例如

console.log(12);

对象中不存在的属性。JavaScript引擎为我们分配了未定义的值。

let _undefinedVar; const doNothing = () => {}; const someObj = { ab : “Tech Talks”, bc : “With AK”, cd : “Subscribe, Link in Bio”, }; console.log(_undefinedVar); // undefined console.log(doNothing()); // undefined console.log(someObj[“d”]); // undefined

null 是

一个不代表任何价值的价值。

已明确定义为变量的值。

例如,当fs.readFile方法没有引发错误时,我们将获得null值。

fs.readFile('path/to/file', (err,data) => { console.log(e); //prints null when no error occurred if(e){ console.log(e); } console.log(data); } );

比较null和undefined

比较null,undefined时,当我们用==我们得到true,当我们用===我们得到false。

console.log(null == undefined); // logs true console.log(null === undefined); // logs false

问题4. JavaScript中的转义字符是什么?

答:

当有特殊字符工作时我们使用转义字符backslash (\),例如ampersands (&),apostrophes (‘),double quotes (“ ”)和single quotes (‘ ’)。

JavaScript中会显示转义字符中包含的所有内容。

JavaScript还提供了六个附加的转义符:

\ b –退格键

\ f –换页

\ n –换行符

\ r –回车

\ t –水平制表符

\v –垂直制表符

无论如何,这些都不会在HTML或JS代码中执行。

这些最初是为控制传真机,电传打字机和打字机而设计的。

问题5.什么是Logical AND (&&)逻辑与?

答:

&& or Logical AND 在其操作数中找到第一个假表达式并返回它。

如果找不到任何错误表达式,则返回最后一个表达式。

它采用短路来防止不必要的工作。

console.log(false && 10 && []); // false console.log(" " && true && 10); // 10

问题6.什么是Logical OR (||)逻辑或?

答:

|| or Logical OR在其操作数中找到第一个真表达式并返回它。

这也采用短路以防止不必要的工作。

console.log(null || 10 || undefined); //prints 10 function printChannelName(name) { var n = name || "Tech Talks With AK"; console.log(n); } printChannelName(); //prints "Tech Talks With AK"

问题7.将字符串转换为数字的最快方法是什么?

答:

根据MDN文档,Unary Plus (+)是将字符串转换为数字的最快方法,因为如果该值已经是数字,则对值不执行任何操作。

问题8. JavaScript中的Error Name values有哪些不同类型?

答:

JavaScript中有6个Error Name values。

Eval Error – Eval错误,在eval()中遇到错误时抛出(较新的JS版本没有)

Range Error – 范围错误,使用超出指定范围的数字时生成

Reference Error – 参考错误,使用未声明的变量时起作用。

Syntax Error – 语法错误,使用错误的语法时,我们会收到此错误

Type Error – 尝试使用超出数据类型范围的值时引发此错误。

URI Error – URI错误,由于使用非法字符而产生

问题9.请解释Self Invoking Function

答:

自动调用的功能称为Self Invoking Functions。

这些也称为Immediately Invoked Function Expressions(立即调用函数表达式)和Self Executing Anonymous Functions(自执行匿名功能)。

一个Self Invoking Function的一般语法为:

// A function is defined and then invoked (function_name () { return () }) ();

但是,如果需要automatically在给出函数的地方执行某个函数,而不必再次调用它,则anonymous functions可以使用它。此类功能没有名称。这样的名字。

问题10.解释函数声明和函数表达式之间的差异

答:

函数声明和函数表达式可以根据以下四点来区分

Definition (定义)

Strict Mode (严格模式)

Time of Use (使用时间)

When to Use(何时使用)

定义

在主代码流中声明为单独语句的函数称为function declaration(函数声明)。

在表达式或其他语法构造内部创建函数时,将其称为function expression(函数表达式)。

严格模式

当一个函数声明为within a code block in the Strict mode(在严格模式下的代码块内)时,它在该块内部的任何地方都可见,但在该块的外部则不可见。

函数表达式不是这种情况。

使用时间

当函数表达式已创建when the execution reaches it(当执行到达时)。从那时起函数表达式就可用。

另一方面,函数声明can be called before the same is defined(可以在定义相同对象之前调用)时可用。

何时使用

函数声明提供better readability(更好的可读性)和提供more freedom in organizing the code(组织代码的更多自由)。

100个最常问的JavaScript面试问答-第1部分

函数表达式通常是restricted to be used when there is a need for a conditional declaration(仅限在需要条件声明时使用)。

Java JavaScript

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【收藏】MyBatis 常用语法汇总
下一篇:【云驻共创】LiteOS 5.0物联网操作系统新特性详解
相关文章