自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

進(jìn)來(lái)做幾道 JavaScript 基礎(chǔ)題找找自信?

開(kāi)發(fā)
天天推送各種框架和庫(kù)的,看起來(lái)也挺累的,今天放松一下,做幾道 JavaScript 基礎(chǔ)題找找自信吧!

天天推送各種框架和庫(kù)的,看起來(lái)也挺累的。。。今天放松一下,做幾道 JavaScript 基礎(chǔ)題找找自信吧!

第1題 — 原型

function Animal(){ 
this.type = "animal"
}

function Dog(){
this.name = "dog"
}

Dog.prototype = new Animal()

var PavlovPet = new Dog();

console.log(PavlovPet.__proto__ === Dog.prototype)
console.log(Dog.prototype.__proto__ === Animal.prototype)

console.log 打印出的值是?

第2題 — 小心“排序”

var arr = [5, 22, 14, 9];

console.log(arr.sort());

console.log 打印出的值是?

第3題 — 異步循環(huán)

for (let i = 0; i < 3; i++) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}

console.log 打印出的值是?

第4題 — numbers里面有啥?

const length = 4
const numbers = []
for (var i = 0; i < length; i++);{
numbers.push(i + 1)
}

console.log(numbers)

console.log 打印出的值是?

第5題 — 長(zhǎng)度為0

const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0

console.log(clothes[3])

console.log 打印出的值是?

第6題 — 變量定義

var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)

console.log 打印出的值是?

第7題 — 找到值了嗎

function foo() {
let a = b = 0
a++
return a
}

foo()
console.log(typeof a)
console.log(typeof b)

console.log 打印出的值是?

第8題 — 類型轉(zhuǎn)換

console.log(+true)
console.log(!"ConardLi")

console.log 打印出的值是?

第9題 — ESM

// module.js 
export default () => "Hello world"
export const name = "c"

// index.js
import * as data from "./module"

console.log(data)

console.log 打印出的值是?

第10題 — 對(duì)象做 key

const a = {};
const b = { key: "b" };
const c = { key: "c" };

a[b] = 123;
a[c] = 456;

console.log(a[b]);

console.log 打印出的值是?

答案 - 第1題

把原型的基礎(chǔ)知識(shí)記清楚這道題就錯(cuò)不了:

所有的對(duì)象都有 [[prototype]] 屬性(通過(guò) _proto_ 訪問(wèn)),該屬性對(duì)應(yīng)對(duì)象的原型;所有的函數(shù)對(duì)象都有 prototype 屬性,該屬性的值會(huì)被賦值給該函數(shù)創(chuàng)建的對(duì)象的 _proto_ 屬性。

答案是:

true
true

答案 - 第2題

抱歉,答案不是 [5, 9, 14, 22] 。如果不傳入排序函數(shù),sort 函數(shù)會(huì)將每個(gè)元素轉(zhuǎn)換成字符串,然后根據(jù)它們的 UTF-16 值排序。

答案是:

[14, 22, 5, 9]

答案 - 第3題

這題我會(huì),因?yàn)椋?/p>

定時(shí)器是異步執(zhí)行,瀏覽器會(huì)優(yōu)先執(zhí)行同步任務(wù),在遇到定時(shí)器時(shí)會(huì)先把它們暫存在一個(gè)宏任務(wù)隊(duì)列中,待當(dāng)前宏任務(wù)隊(duì)列的所有任務(wù)執(zhí)行完畢后才會(huì)去執(zhí)行隊(duì)列中的任務(wù),此時(shí)循環(huán)已執(zhí)行完畢,i 已經(jīng)是 3。

所以答案是:

0
1
2

哎不對(duì)?答案為啥不是 3、3、3 ?

因?yàn)檠h(huán)里的 i 是用 let 聲明的,而不是用 var 聲明的!

let 聲明的變量擁有塊級(jí)作用域。即在 for 循環(huán)或 if 中用 let 定義變量,在外面是訪問(wèn)不到的。

形如 for (let i...) 的循環(huán)在每次迭代時(shí)都為 i 創(chuàng)建一個(gè)新變量,并以之前迭代中同名變量的值將其初始化,所以上面的代碼實(shí)際上相當(dāng)于:

for (let i = 0) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}
for (let i = 1) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}
for (let i = 2) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}

答案 - 第4題

要看仔細(xì)啊,看到小括號(hào)和大括號(hào)之間有個(gè);嗎?

答案是:

[5]

答案 - 第5題

將數(shù)組的長(zhǎng)度賦值為 0 就相當(dāng)于從數(shù)組中刪除所有元素。

答案是:

undefined

答案 - 第6題

  • 第一個(gè)輸出:全局的 var a
  • 第二個(gè)輸出:output 函數(shù)中聲明的 var a變量提升,還未賦值
  • 第三個(gè)輸出:output 函數(shù)局部作用域的 a 已賦值
  • 第四輸出:全局的 var a 沒(méi)有變

答案是:

1
undefined
2
1

答案 - 第7題

let a 是一個(gè)局部變量。typeof a 檢查的是未聲明的變量。

b 是個(gè)全局變量,它在 foo 函數(shù)中被賦值。

答案是:

undefined
number

答案 - 第8題

+ 運(yùn)算符首先會(huì)嘗試將 boolean 類型轉(zhuǎn)換為數(shù)字類型,true 被轉(zhuǎn)換為 1,false 被轉(zhuǎn)換為 0。

字符串 'ConardLi' 是一個(gè)真值,所以 !'ConardLi' 為 false。

答案是:

1
false

答案 - 第9題

考察下你對(duì) ES Module 的認(rèn)識(shí)。

答案是:

{ default: function default(), name: "c" }

答案 - 第10題

對(duì)象能做對(duì)象的 key 嗎?當(dāng)然不能,兩次賦值實(shí)際上是:

a["Object object"] = 123;
a["Object object"] = 456;

答案是:

456

怎么樣,找到自信了嗎?

責(zé)任編輯:趙寧寧 來(lái)源: code秘密花園
相關(guān)推薦

2015-10-29 14:24:42

JavaScript基礎(chǔ)知識(shí)

2021-01-12 08:21:46

Jvm類加載機(jī)制運(yùn)行區(qū)數(shù)據(jù)

2022-05-04 23:09:33

TS交叉運(yùn)算工具

2016-12-16 12:32:50

阿里數(shù)據(jù)分析職業(yè)要求

2015-08-26 11:27:26

DockerDeviceMappe分層鏡像

2012-11-30 11:31:15

Visual StudVisual StudVS

2019-11-06 09:52:01

JavaScript單線程非阻塞

2021-09-06 08:26:08

JavaScript數(shù)獨(dú) LeetCode

2023-02-13 07:15:17

2017-04-06 10:27:01

JavaScript基礎(chǔ)Java

2011-08-10 17:04:43

JavaScript

2010-09-13 17:12:55

JavaScript

2010-06-03 15:44:49

WindowsServ

2020-01-13 07:50:58

JavaScript開(kāi)發(fā)

2020-01-18 07:55:28

JavaScript開(kāi)發(fā)

2012-12-28 10:45:51

2015-02-10 10:17:02

2011-09-16 10:00:56

C++

2011-05-13 11:05:52

javascript

2011-08-24 13:51:56

JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)