나는 Zhihu에 누군가가 게시 한 JavaScript와 관련된 테스트 질문을 보았습니다. 나는 오래 전에 일어 났지만이 질문들은 상당히 고전적이므로 사람들이 JavaScript가 실제로 고통스러운 언어라고 느끼게합니다.
1.
코드 사본은 다음과 같습니다.
(기능 () {
반환 유형 인수;
}) ();
A. "개체"
B. "배열"
C. "논쟁"
D. "정의되지 않은"
답 : a
2.
코드 사본은 다음과 같습니다.
var f = function g () {
반환 23;
};
g () 유형;
A. "숫자"
B. "정의되지 않은"
C. "기능"
D. Eorror
답 : d
3.
코드 사본은 다음과 같습니다.
(함수 (x) {
x 삭제;
반환 x;
}) (1);
A. 1
B. 널
C. 정의되지 않은
D. 오류
답 : a
4.
코드 사본은 다음과 같습니다.
var y = 1,
x = y = typeof x;
엑스;
A. 1
B. "숫자"
C. 정의되지 않은
D. "정의되지 않은"
답 : d
5.
코드 사본은 다음과 같습니다.
(함수 f (f) {
반환 유형 F ();
})(기능 () {
반환 1;
});
A. "숫자"
B. "정의되지 않은"
C. "기능"
D. 오류
답 : a
6.
코드 사본은 다음과 같습니다.
var foo = {
바 : function () {
reacy.baz;
},
바즈 : 1
};
(기능 () {
반환 유형 인수 [0] ();
}) (foo.bar);
A. "정의되지 않은"
B. "개체"
C. "숫자"
D. "기능"
답 : a
7.
코드 사본은 다음과 같습니다.
var foo = {
바 : function () {
reacy.baz;
},
바즈 : 1
};
typeof (f = foo.bar) ();
A. "정의되지 않은"
B. "개체"
C. "숫자"
D. "기능"
답 : a
8.
코드 사본은 다음과 같습니다.
var f = (함수 f () {
"1"을 반환합니다.
}, function g () {
반환 2;
}) ();
F 형;
A. "문자열"
B. "숫자"
C. "기능"
D. "정의되지 않은"
답 : b
9.
코드 사본은 다음과 같습니다.
var x = 1;
if (function f () {}) {
x += fypeof f;
}
엑스;
A. 1
B. "1 기능"
C. "1 유전자"
D. Nan
답 : c
10.
코드 사본은 다음과 같습니다.
var x = [typeof x, 유형 y] [1];
유형 X 타입;
A. "숫자"
B. "문자열"
C. "정의되지 않은"
D. "대상"
답 : b
11.
코드 사본은 다음과 같습니다.
(기능 (foo) {
foo.bar의 반환 유형;
}) ({
Foo : {
바 : 1
}
});
A. "정의되지 않은"
B. "개체"
C. "숫자"
D. 오류
답 : a
12.
코드 사본은 다음과 같습니다.
(함수 f () {
함수 f () {
반환 1;
}
반환 f ();
함수 f () {
반환 2;
}
}) ();
A. 1
B, 2
C. 오류 (예 :“너무 많은 재귀”)
D. 정의되지 않은
답 : b
13.
코드 사본은 다음과 같습니다.
함수 f () {
반환 f;
}
새로운 f () 인스턴스 F;
A. 진실
b, 거짓
답 : b
14.
코드 사본은 다음과 같습니다.
(함수 (x, undefined) {}) 길이;
A. 1
B, 2
C. 정의되지 않은
D. 오류
답 : b
15.
코드 사본은 다음과 같습니다.
다음 문서 중 실행 중 오류를 생성하는 것은 다음과 같습니다. ()
A.var obj = ();
B.var obj = [];
c.var obj = {};
D.var obj = //;
답 : a