100个最常问的JavaScript面试问答-第1部分(共10部分)

简介: 100个最常问的JavaScript面试问答-第1部分(共10部分)

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(组织代码的更多自由)。

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


目录
相关文章
|
3月前
|
JSON JavaScript 前端开发
Javascript基础 86个面试题汇总 (附答案)
该文章汇总了JavaScript的基础面试题及其答案,涵盖了JavaScript的核心概念、特性以及常见的面试问题。
63 3
|
3月前
|
前端开发 JavaScript
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
|
4月前
|
JavaScript 前端开发
常见的JS面试题
【8月更文挑战第5天】 常见的JS面试题
67 3
|
1月前
|
JSON JavaScript 前端开发
[JS]面试官:你的简历上写着熟悉jsonp,那你说说它的底层逻辑是怎样的?
本文介绍了JSONP的工作原理及其在解决跨域请求中的应用。首先解释了同源策略的概念,然后通过多个示例详细阐述了JSONP如何通过动态解释服务端返回的JavaScript脚本来实现跨域数据交互。文章还探讨了使用jQuery的`$.ajax`方法封装JSONP请求的方式,并提供了具体的代码示例。最后,通过一个更复杂的示例展示了如何处理JSON格式的响应数据。
38 2
[JS]面试官:你的简历上写着熟悉jsonp,那你说说它的底层逻辑是怎样的?
|
2月前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
4月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
47 0
|
4月前
|
存储 缓存 JavaScript
10 个简单但不能不会的 Vue 面试问答
10 个简单但不能不会的 Vue 面试问答
|
4月前
|
机器学习/深度学习 算法 数据中心
【机器学习】面试问答:PCA算法介绍?PCA算法过程?PCA为什么要中心化处理?PCA为什么要做正交变化?PCA与线性判别分析LDA降维的区别?
本文介绍了主成分分析(PCA)算法,包括PCA的基本概念、算法过程、中心化处理的必要性、正交变换的目的,以及PCA与线性判别分析(LDA)在降维上的区别。
108 4
|
4月前
|
机器学习/深度学习 算法 Python
【机器学习】面试问答:决策树如何进行剪枝?剪枝的方法有哪些?
文章讨论了决策树的剪枝技术,包括预剪枝和后剪枝的概念、方法以及各自的优缺点。
67 2
|
4月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码