ฉันได้เห็นคำถามทดสอบที่เกี่ยวข้องกับ JavaScript ที่โพสต์โดยใครบางคนใน Zhihu ฉันจะแบ่งปันกับคุณว่าแม้ว่ามันจะเกิดขึ้นเมื่อนานมาแล้วคำถามเหล่านี้ค่อนข้างคลาสสิกซึ่งทำให้ผู้คนรู้สึกว่า JavaScript เป็นภาษาที่เจ็บปวดจริงๆ
1.
การคัดลอกรหัสมีดังนี้:
(การทำงาน () {
return typeof อาร์กิวเมนต์;
-
A. "วัตถุ"
B. "อาร์เรย์"
C. "ข้อโต้แย้ง"
D. "ไม่ได้กำหนด"
คำตอบ: ก
2.
การคัดลอกรหัสมีดังนี้:
var f = ฟังก์ชั่น g () {
กลับ 23;
-
typeof g ();
A. "หมายเลข"
B. "ไม่ได้กำหนด"
C. "ฟังก์ชั่น"
D. Eorror
คำตอบ: D
3.
การคัดลอกรหัสมีดังนี้:
(ฟังก์ชั่น (x) {
ลบ x;
กลับ x;
}) (1);
A. 1
B. null
C. ไม่ได้กำหนด
D. ข้อผิดพลาด
คำตอบ: ก
4.
การคัดลอกรหัสมีดังนี้:
var y = 1
x = y = typeof x;
x;
A. 1
B. "หมายเลข"
C. ไม่ได้กำหนด
D. "ไม่ได้กำหนด"
คำตอบ: D
5.
การคัดลอกรหัสมีดังนี้:
(ฟังก์ชั่น f (f) {
return typeof f ();
})(การทำงาน () {
กลับ 1;
-
A. "หมายเลข"
B. "ไม่ได้กำหนด"
C. "ฟังก์ชั่น"
D. ข้อผิดพลาด
คำตอบ: ก
6.
การคัดลอกรหัสมีดังนี้:
var foo = {
บาร์: ฟังก์ชั่น () {
คืนสิ่งนี้ baz;
-
Baz: 1
-
(การทำงาน () {
return typeof อาร์กิวเมนต์ [0] ();
}) (foo.bar);
A. "ไม่ได้กำหนด"
B. "วัตถุ"
C. "หมายเลข"
D. "ฟังก์ชั่น"
คำตอบ: ก
7.
การคัดลอกรหัสมีดังนี้:
var foo = {
บาร์: ฟังก์ชั่น () {
คืนสิ่งนี้ baz;
-
Baz: 1
-
typeof (f = foo.bar) ();
A. "ไม่ได้กำหนด"
B. "วัตถุ"
C. "หมายเลข"
D. "ฟังก์ชั่น"
คำตอบ: ก
8.
การคัดลอกรหัสมีดังนี้:
var f = (ฟังก์ชัน f () {
กลับ "1";
}, function g () {
กลับ 2;
-
typeof f;
A. "สตริง"
B. "หมายเลข"
C. "ฟังก์ชั่น"
D. "ไม่ได้กำหนด"
คำตอบ: B
9.
การคัดลอกรหัสมีดังนี้:
var x = 1;
if (function f () {}) {
x += typeof f;
-
x;
A. 1
B. "1function"
C. "1Defined"
D. Nan
คำตอบ: C
10.
การคัดลอกรหัสมีดังนี้:
var x = [typeof x, typeof y] [1];
typeof typeof x;
A. "หมายเลข"
B. "สตริง"
C. "ไม่ได้กำหนด"
D. "วัตถุ"
คำตอบ: B
11.
การคัดลอกรหัสมีดังนี้:
(ฟังก์ชั่น (foo) {
return typeof foo.bar;
-
foo: {
บาร์: 1
-
-
A. "ไม่ได้กำหนด"
B. "วัตถุ"
C. "หมายเลข"
D. ข้อผิดพลาด
คำตอบ: ก
12.
การคัดลอกรหัสมีดังนี้:
(ฟังก์ชั่น f () {
ฟังก์ชั่น f () {
กลับ 1;
-
กลับ f ();
ฟังก์ชั่น f () {
กลับ 2;
-
-
A. 1
B, 2
C. ข้อผิดพลาด (เช่น“ การเรียกซ้ำมากเกินไป”)
D. ไม่ได้กำหนด
คำตอบ: B
13.
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น f () {
กลับ f;
-
ใหม่ f () อินสแตนซ์ของ f;
A. จริง
B, FALSE
คำตอบ: B
14.
การคัดลอกรหัสมีดังนี้:
ด้วย (ฟังก์ชั่น (x, ไม่ได้กำหนด) {}) ความยาว;
A. 1
B, 2
C. ไม่ได้กำหนด
D. ข้อผิดพลาด
คำตอบ: B
15.
การคัดลอกรหัสมีดังนี้:
ข้อความใดต่อไปนี้จะสร้างข้อผิดพลาดในการรัน: ()
A.VAR OBJ = ();
b.var obj = [];
C.VAR OBJ = {};
d.var obj = //;
คำตอบ: ก