이러한 질문에 올바르게 답할 수 있다면 당신은 JavaScript를 사용할 수 있는 능력이 있는 것입니다

WBOY
풀어 주다: 2024-08-06 07:14:22
원래의
686명이 탐색했습니다.

You’re Decent At JavaScript If You Can Answer These uestions Correctly

请不要作弊?

这些问题中的概念是我在生产代码中遇到的。本测验的目标是测试相关且必要的 JavaScript 知识。

Q1:了解上下文

控制台会记录什么?

雷雷

答案:

  • A) 名称:Alice,禁止:false,未定义,TypeError:无法读取未定义的属性“getName”
  • B) 姓名:Alice,被禁止:false,未定义,姓名:未定义,被禁止:未定义
  • C) 姓名:Alice,禁止:false,未定义,姓名:Alice,禁止:false
  • D) 名称:Alice,禁止:false,未定义,TypeError:this.getName 不是函数

Q2:关闭

控制台会记录什么?

雷雷

答案:

  • A) 1, 2, 3
  • B) 1, 2, 1
  • C) 1, 1, 1
  • D) 1, 2, 未定义

Q3:异步 JavaScript

控制台会记录什么?

雷雷

答案:

  • A) 开始、结束、超时 1、超时 2、承诺 1、承诺 2
  • B) 开始、结束、Promise 1、Promise 2、超时 1、超时 2
  • C) 开始、Promise 1、Promise 2、超时 1、超时 2、结束
  • D) 开始、超时 1、超时 2、承诺 1、承诺 2、结束

Q4:JS 中的原型

控制台会记录什么?

雷雷
  • A) 雷克斯发出声音。,正确,错误
  • B) 雷克斯发出声音。,真的,真的
  • C) 错误:speak 不是函数
  • D) 雷克斯发出声音。,假,真

Q5:默认参数

每次通话都会记录什么?

雷雷

Q6:关闭及功能

控制台会记录什么?

雷雷

Q7:事件处理和传播

雷雷
  • A) 内捕获、内气泡、中捕获、中气泡、外捕获、外气泡
  • B) 外捕获、中捕获、内捕获、内气泡、中气泡
  • C) 内泡、中泡、外泡
  • D) 外捕获、中捕获、内捕获、内气泡、中气泡、外气泡
  • E) 外捕获、中捕获、内捕获、内气泡

您可以通过将代码粘贴到开发工具的控制台中来自行验证。

解决方案Q1:

正确答案是B.

解释: user.getStatus() 调用记录“Name: Alice, Banned: false”,因为箭头函数状态在其封闭范围内正确访问了它。但是, getName() 会记录 undefined,因为当分配给独立变量时它会丢失 this 上下文,导致 getStatus() 也会记录 name 和 isBanned 的 undefined。

解决方案Q2:

正确答案是B.

说明:counter1 和 counter2 都有自己独立的计数变量,因为每次调用 createCounter() 都会创建一个新的闭包。因此,counter1 在其前两次调用中记录 1 和 2,而 counter2 在其第一次调用中记录 1。

解决方案Q3:

正确答案是B.

说明:同步console.log首先调用log“Start”和“End”。在事件循环中,Promise 的优先级高于 setTimeout,因此接下来会记录“Promise 1”和“Promise 2”,然后是“Timeout 1”和“Timeout 2”。

解决方案Q4:

正确答案是A.

说明:所以这个有点棘手。 talk 方法在 Dog.prototype 上正确定义,dog 是 Dog 的实例。

在 Dog 构造函数内,这一行使用当前的 this 上下文和 name 参数调用 Animal 构造函数。这有效地设置了新创建的 Dog 实例的 name 属性。

现在假设代码如下:

雷雷

那么正确答案就是B).

旁注:如果您想自己验证,您需要将其粘贴到浏览器中(而不是错误地得到答案的LLM)。

解决方案Q5:

正确的输出是:

  • 姓名:访客,角色:用户
  • 姓名:访客,角色:用户
  • 姓名:Alice,角色:用户
  • 类型错误:无法解构“null”的属性“name”,因为它是 null。

解决方案Q6:

答案:3,3,3,0,1,2

解释:第一个循环使用 var,它具有函数作用域,因此数组前半部分中的所有函数都在同一个 i 上结束,循环结束时 i 为 3。第二个循环使用 let,它具有块作用域,因此后半部分中的每个函数都在不同的 j 值 (0, 1, 2) 上关闭,导致输出:3, 3, 3, 0, 1, 2。

솔루션 Q7:

정답은 D입니다.

설명:

  • 이벤트는 상단(문서 루트)에서 시작하여 캡처 단계 동안 대상 요소로 아래로 이동하여 캡처 리스너(외부 캡처, 중간 캡처, 내부 캡처)를 트리거합니다.
  • 대상(내부 버튼)에 도달하면 등록 순서(내부 캡처, 내부 버블)에 따라 대상의 청취자를 트리거합니다.
  • 그런 다음 버블이 발생하여 각 조상(중간 버블, 외부 버블)에서 버블 리스너를 트리거합니다.

이 예는 이벤트의 전체 수명 주기를 보여줍니다. stopImmediatePropagation 또는 stopPropagation 함수를 호출하여 전파를 중지할 수 있습니다.

위 내용은 이러한 질문에 올바르게 답할 수 있다면 당신은 JavaScript를 사용할 수 있는 능력이 있는 것입니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!