使用指南

JavaScript面试题

所属分类:学习助手
接口状态:正常
调用次数:0次
收费类型: 免费(每日上限10000次)
密匙要求:

接口简介

提供JavaScript经典面试题,包含155道精心设计的题目,涵盖变量提升、闭包、原型链、事件循环等核心概念。每题包含问题描述、代码示例、选项、答案和详细解释。

接口信息

请求方式: GET

接口地址:

https://api.dlck.cn/api/js.php

请求参数说明

参数名 参数类型 是否必填 参数说明
id String 指定题目ID(1-155),不传则随机返回
encoding String 输出格式(json/text/markdown,默认json)
api_key 字符串 需要密匙的必填项,无需密匙则不必填

调用测试

请求参数:

响应结果:

等待测试...

响应示例

成功响应(200):

{ "code": 200, "message": "success", "data": { "id": 1, "question": "输出是什么?", "code": "function sayHi() {\n console.log(name)\n console.log(age)\n var name = 'Lydia'\n let age = 21\n}\n\nsayHi()", "options": [ "A: `Lydia` 和 `undefined`", "B: `Lydia` 和 `ReferenceError`", "C: `ReferenceError` 和 `21`", "D: `undefined` 和 `ReferenceError`" ], "answer": "D", "explanation": "在函数内部,我们首先通过 `var` 关键字声明了 `name` 变量。这意味着变量被提升了(内存空间在创建阶段就被设置好了),直到程序运行到定义变量位置之前默认值都是 `undefined`。因为当我们打印 `name` 变量时还没有执行到定义变量的位置,因此变量的值保持为 `undefined`。\n\n通过 `let` 和 `const` 关键字声明的变量也会提升,但是和 `var` 不同,它们不会被初始化。在我们声明(初始化)之前是不能访问它们的。这个行为被称之为暂时性死区。当我们试图在声明之前访问它们时,JavaScript 将会抛出一个 `ReferenceError` 错误。" }, "timestamp": 1704105600 }

使用示例

随机获取题目(默认JSON格式) https://api.dlck.cn/api/js.php 获取指定ID的题目(ID为5) https://api.dlck.cn/api/js.php?id=5 随机获取题目(文本格式) https://api.dlck.cn/api/js.php?encoding=text 获取指定ID的题目(Markdown格式) https://api.dlck.cn/api/js.php?id=10&encoding=markdown 获取所有题目列表 https://api.dlck.cn/api/js.php?action=list 获取题目总数 https://api.dlck.cn/api/js.php?action=count 获取指定范围的题目 https://api.dlck.cn/api/js.php?action=list&start=10&limit=5