goat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩

188体育 187℃ 0

现在,许多企业招聘goat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩都少不了书面考试环节,技能类面试更是如此,一般这类型的标题都比较根底,但却能很快反响你的根底把握的是否结实,假如你最近有一场前端书面考试,本文必定要看


javascript-轮胎排名questions是一个goat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩JavaScript 进阶问题列表,从根底到进阶,测验你有多了解 Jgoat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩avaScript,改写你的常识,或许协助你的 coding 面试!





javascript-questions在GitHub上 8107 个Star,787 个Fork。(GitHub地址:https://github.com/lydiahallie/javascript-questions)


1. 输出是什么?

function sayHi() {
co灿烈nsole.log(name)
console.log(age)
var name = 'Lydia'
let age = 吉他手智仁21
}
sayHi()


A: Lydia 和 undefined

B: Lydia 和 ReferenceError

C: ReferenceError 和 21

D: undegoat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩fined 和 ReferenceError


答案:D


在函数内部,咱们首要经过 var 关键字声明晰 name 变量。这意资中筠最新言辞味着变量被提高了(内存空间在创立阶段就被设置好了),直到程序运转到界说变量方位之前默认值都是 undefined。由于当咱们打印 name 变量时还没有履行goat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩到界说变量的方位,因而变量的值坚持为 葵undefined。


经过 let 和 const 关键字声明的变量也会提高,可是和 var 不同,它们不会被初始化。在咱们声明(初始化)之前是不能拜访它们的。这goat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩个行为被称之为暂时性死区。当咱们都灵企图在声明之前拜访它们时,JavaScript 将会抛出一个 ReferenceError 快新过错。


2. 输出是什么?


for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1)
}
for (let i = 0; i < 3; i++) {
setTimeout(()菊花1角硬币 => console.log(i), 1)
}


A: 0 1 2 和 0 1 2

B: 0 1 2 和 3 3 3

C: 3 3 3 和 0 1 2


答案:C


由于 JavaScript 的事情循环,setTimeout 回调会在遍历完毕后才履行。由于在第一个遍历中遍历 i 是经过 var 关键字声明的,所以这个值是大局效果域下的。在遍历过程中,咱们经过一元操作符 ++ 来每次递加 i 的值。当 setTimeout 回调履行的时分,i 的值等于 3。


在第二个遍历中,遍历 i 是经过 let 关键字声明的:经过 let 和 const 关键字声明的变量是具有块级效果域(指的是任安在 {} 中的内容)。在每次的遍历过程中,i 都有一个新值,而且每个值都在循环内的效果域中。


3. 输出是什么?


const shape = {
radius: 10,
diqq康复老友ameter() {
return this.radius * 2
},
perimeter: () => 2 * Math.PI * this.radius
}
shape.diameter()
shape上官于飞.perimeter()


A: 20 and 62.83185307179586

B: 20 and NaN

C: 20 and 63

D: NaN and 63


答案:B


留意 diameter 的值是一个惯例函数,可是 perimeter 的值是一个箭头函数。


关于箭头函数,this 关键字指向的是它当时周围效果域(简略来说是包括箭头函数的惯例函数,假如没有惯例函数的话便是大局目标),这个行为和惯例函数不同。这意味着当咱们调用 perimeter 时,this 不是指向 shape 目标,而是它的周围效果域(在比如中是 window)。


在 window 中没有 radius 这个特点,因而回来 undefinexciteded。


4. 输出是什么?

;+true
!'Lydia'


A: 1 and false

Bgoat,赢得前端面试后,刷一下这组问题!(带教材)-ope电竞官网_ope博彩: false and NaN

C: false and false


答案: A


一元操作符加号测验将 bool 转为 number。true 转换为 number 的话为 1,false 为 0。字符串 'Lydia' 是一个真值,真值取反那么就回来 false。


5. 哪一个是无效的?


const bird = {
size: 'small'
}
const mouse = {
name: 'Mickey',
small: true
}


A: mouse.bird.size

B: mouse[bird.size]

C: mouse[bird["size"]]

D: All of 总裁的33日索情them are valid

答案: A


在 JavaScript 中,一切目标的 keys 都是字符串(除非目标是 Symbol)。虽然咱们或许不会界说它们为字符串,但它们在底层总会被转换为字符串。


当咱们运用括号语法时([]),Ja立玛美vaScript 会解说(或许 unboxes)句子。它首要大医医学查找登录进口看到第一个开端括号 [ 并继续前进直到找到完毕括号 ]。只要这样,它才会核算句子的值。


mouse[bird.size]:首要核算 bird.size,这会得到 small。mouse["small"] 回来 true。


然后运用点语法的话,上面这一切都不会发作。mouse 没有 bird 这个 key,这也就意味着 mouse.bird 是 undefined。然后当咱们运用点语法 mouse.zionbird.size 时,由于 mouse.bird 是 undefined,孤单毅力手镯这也就变成了 undefined.size。这个行为是无效的,而且会抛出一传统习俗个过错相似 Cannot read property "size" of undefined。


6. 输出是什么?


let c = { greeting: 'Hey!' }
let d
d = c
c.greeting = 'Hello'
console.log(d.greeting)


A: Hello

B: undefined

C: ReferenceError

D: TypeError


答案:A


在 JavaScript 中,当设置两个目标互相持平时,它们会经过引证进行交互。首要,变量 c 的值是一个目标。接下来,咱们给 d 分配了一个和 c 目标相同的引证。




因而当咱们改动其间一个目标时,其实是改动了一切的目标。

检查更多心爱小说题型,能够自行到GitHub详情页检查,最终,能不能拿下前端面试,仍是得靠你自己,晓晓只能帮你到这了。

最终,小编还为我们预备了一些学习前端从入门到通晓的学习材料,期望能够协助到烟影摇风我们。

转发此文,重视并私信小编“学习”,即可立刻收取,仅限300人哦