JavaScript 闪卡

Category sponsor

JavaScript 是一种多功能、动态的编程语言,是现代网络开发的重要组成部分。最初创建用于为静态 HTML 页面添加交互性,JavaScript 已演变为一种强大的工具,可用于客户端和服务器端。

我们的闪卡应用包含精心挑选的 JavaScript 面试问题及全面的答案,可以有效地为您准备任何需要 JS 知识的面试。IT 闪卡不仅是求职者的工具——无论您当前的职业计划如何,这是一个加强和测试您知识的好方法。定期使用该应用有助于您保持最新的 JavaScript 趋势,并保持高水平的技能。

我们的应用中的 JavaScript 闪卡示例

从App Store或Google Play下载我们的应用程序,获取更多免费的闪卡,或订阅以访问所有的闪卡。

JavaScript

JavaScript中的词法作用域是什么?

JavaScript中的词法作用域是一种原则,即变量的可见范围由其在代码中的位置确定。这意味着变量在其定义的块内以及任何嵌套的块内都是可以访问的。这使得可以创建闭包并控制对变量的访问。以下是在JavaScript代码中使用词法作用域的示例:
function outerFunction() {
  let outerVariable = `I'm outside!`;

  function innerFunction() {
    console.log(outerVariable); // 可访问 'outerVariable'
  }

  innerFunction();
}
outerFunction(); // 显示 `I'm outside!`

词法作用域允许内部函数访问在外部函数中定义的变量,即使外部函数已经结束。这在JavaScript中创建闭包的过程中是一个关键因素,允许应用程序更灵活地管理状态。

JavaScript

什么是提升(Hoisting)?

提升是JavaScript语言中的一种机制,其中变量和函数在代码执行之前被移动到其范围的顶部。实际上,这意味着我们可以在它们实际声明之前使用函数或变量。

然而,应该注意的是变量和函数的提升工作方式略有不同

对于用var关键字声明的变量,只有声明被提升,初始化并未被提升。在声明之前初始化的变量将被返回为undefined

变量提升代码的一个例子:
console.log(myVar); // undefined
var myVar = 5;
console.log(myVar); // 5

对于函数,提升将函数的声明和定义都移到顶部,这允许在声明函数之前使用它。

函数提升代码的一个例子:
console.log(myFunction()); // "Hello World"

function myFunction() {
  return "Hello World";
}

let和const声明的变量不会发生提升。

JavaScript

什么是箭头函数及其优势?

箭头函数,也被称为箭头函数,是在 ECMAScript 6 (ES6) 中引入的一种函数类型。 它们之所以被称为箭头函数,是因为它们使用一种特殊的箭头语法( => )来定义函数。

比较而言,传统的函数可能看起来是这样的:
function sum(a, b) {
  return a + b;
}

箭头函数的等效形式是:
const sum = (a, b) => a + b;

箭头函数的主要好处是它不会创建自己的执行上下文(绑定到this),这在JavaScript中常常是错误的来源。在箭头函数中,this是从周围的上下文中继承的。另一个优点是简洁的语法,尤其在函数被用作其他函数的参数时,例如在高阶函数中。

另一方面,由于缺乏自己的this,箭头函数不适合定义构造器(创造性)对象或者在原型对象中创建方法。

JavaScript

Promise对象是什么,它如何被使用?

JavaScript中的Promise对象用于处理异步操作。一个Promise代表一个可能在创建Promise时尚不可用,但在将来可能可用,或者可能永远不可用的值。

一个Promise对象可以处于以下三种状态之一:
1. Pending - 操作仍在进行中,尚未成功或出错地完成。
2. Fulfilled - 操作成功完成,Promise返回一个值。
3. Rejected - 操作以错误完成,Promise返回错误原因。

一个已经"fulfilled"或"rejected"的Promise被认为是"settled",并且它的状态永远不会改变。

创建一个Promise对象:
const promise = new Promise((resolve, reject) => {
  const success = true;
  if (success) {
    resolve('Operation successful.');
  } else {
    reject('Operation failed.');
  }
});

使用一个Promise对象:
promise
  .then(result => {
    console.log(result); // 将打印: 'Operation successful.'
  })
  .catch(error => {
    console.log(error);
  });

.then()方法在Promise被fulfilled时执行,.catch()在它被rejected时执行。在两种情况下,操作的结果或Promise被拒绝的原因都作为参数传递。

下载 IT Flashcards 立即

通过最佳闪卡应用程序增强您的 IT 学习之旅。 从编程基础到掌握高级技术,IT 闪卡是您通向 IT 卓越的护照。 立即下载,发掘您在当今竞争激烈的技术世界中的潜力。

首页 Blog 赞助商 联系我们 Privacy Policy Terms of Service

Copyright © 2025 IT Flashcards