欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

让人蛋疼的JavaScript语法特性_基础知识

程序员文章站 2022-04-30 20:06:55
...
在知乎上看到的有人发布的和javascript有关的试题,和大家分享下,虽然是N久前的事了,但这些题相当经典,不免让人觉得javascript真是门蛋疼的语言。

1.

复制代码 代码如下:

(function () {
return typeof arguments;
})();

A. "object"
B. "array"
C. "arguments"
D. "undefined"

答案:A

2.

复制代码 代码如下:

var f = function g() {
return 23;
};
typeof g();

A. "number"
B. "undefined"
C. "function"
D. Eorror

答案:D

3.

复制代码 代码如下:

(function (x) {
delete x;
return x;
})(1);

A. 1
B. null
C. undefined
D. Error

答案:A

4.

复制代码 代码如下:

var y = 1,
x = y = typeof x;
x;

A. 1
B. "number"
C. undefined
D. "undefined"

答案:D

5.

复制代码 代码如下:

(function f(f) {
return typeof f();
})(function () {
return 1;
});

A. "number"
B. "undefined"
C. "function"
D. Error

答案:A

6.

复制代码 代码如下:

var foo = {
bar: function () {
return this.baz;
},
baz: 1
};
(function () {
return typeof arguments[0]();
})(foo.bar);

A. "undefined"
B. "object"
C. "number"
D. "function"

答案:A

7.

复制代码 代码如下:

var foo = {
bar: function () {
return this.baz;
},
baz: 1
};
typeof (f = foo.bar)();

A. "undefined"
B. "object"
C. "number"
D. "function"

答案:A

8.

复制代码 代码如下:

var f = (function f() {
return "1";
}, function g() {
return 2;
})();
typeof f;

A. "string"
B. "number"
C. "function"
D. "undefined"

答案:B

9.

复制代码 代码如下:

var x = 1;
if (function f() {}) {
x += typeof f;
}
x;

A. 1
B. "1function"
C. "1undefined"
D. NaN

答案:C

10.

复制代码 代码如下:

var x = [typeof x, typeof y][1];
typeof typeof x;

A. "number"
B. "string"
C. "undefined"
D. "object"

答案:B

11.

复制代码 代码如下:

(function (foo) {
return typeof foo.bar;
})({
foo: {
bar: 1
}
});

A、“undefined”
B、“object”
C、“number”
D、Error

答案:A

12.

复制代码 代码如下:

(function f() {
function f() {
return 1;
}
return f();
function f() {
return 2;
}
})();

A、1
B、2
C、Error (e.g. “Too much recursion”)
D、undefined

答案:B

13.

复制代码 代码如下:

function f() {
return f;
}
new f() instanceof f;

A、true
B、false

答案:B

14.

复制代码 代码如下:

with (function(x, undefined){}) length;

A、1
B、2
C、undefined
D、Error

答案:B

15.

复制代码 代码如下:

以下哪条语句会产生运行错误:()
A.var obj = ();
B.var obj = [];
C.var obj = {};
D.var obj = //;

答案:A