JavaScript学習--Item 31チャレンジするJavaScriptの面接問題(45題)
54667 ワード
あなたが知らないJavaScriptシリーズは、すでにこんなに多くのブログがあります.今日はいくつかのテーマを探しています.これらはあなたの「全部できるはずがない」というjavascriptテーマです.
回答の半分以上の学友に10086個の称賛をつけます!!!!!!
1,下記の式の実行結果は以下の通りです.
回答の半分以上の学友に10086個の称賛をつけます!!!!!!
1,下記の式の実行結果は以下の通りです.
["1","2","3"].map(parseInt)
A.["1","2","3"]
B.[1,2,3]
C.[0,1,2]
D.
2,下記の式の実行結果は以下の通りです.[typeof null, null instanceof Object]
A.["object",false]
B.[null,false]
C.["object",true]
D.
3,下記の式の実行結果は以下の通りです.[[3,2,1].reduce(Math.pow),[].reduce(Math.pow)]
A.
B.[9,0]
C.[9,NaN]
D.[9,undefined]
4,下記の式の実行結果は以下の通りです.var val = 'value';
console.info('Value id '+(val === 'value')?'Something':'Nothing');
A.Something
B.Nothing
C.NaN
D.
5,下記の式の実行結果は以下の通りです.var name = 'World';
(function(){
if(typeof name === 'undefined'){
var name = "Jack";
console.info('Goodbye '+ name);
}else{
console.info('Hello ' + name);
}
})();
A.Goodbye Jack
B.Hello Jack
C.Goodbye undefined
D.Hello undefined
6,下記の式の実行結果は以下の通りです.var END = Math.pow(2,53);
var START = END -100;
var count = 0;
for(var i = START ; i <= END ;i++){ count ++; }
console.log(count);
A.0
B.100
C.101
D.
7,以下の式の実行結果は以下の通りです.var arr = [0,1,2];
arr[10] = 10;
arr.filter(function(x){return x === undefined});
A.[undefined x 7]
B.[0,1,2,10]
C.[]
D.[undefined]
8,下記の式の実行結果は以下の通りです.var two = 0.2;
var one = 0.1;
var eight = 0.8;
var six = 0.6;
[two -one == one,eight- six == two]; A.[true,true] B.[false,false] C.[true,false] D.
9,以下の式の実行結果は以下の通りです.function showCase(value){
switch(value){
case 'A':
console.info('Case A');
break;
case 'B':
console.info('Case B');
break;
case undefined :
console.info('undefined');
break;
default:
console.info('Do not know!');
}
}
showCase(new String('A'));
A.Case A
B.Case B
C.Do not know
D.undefined
10,以下の式の実行結果は以下の通りです.function showCase(value){
switch(value){
case 'A':
console.info('Case A');
break;
case 'B':
console.info('Case B');
break;
case undefined :
console.info('undefined');
break;
default:
console.info('Do not know!');
}
}
showCase(String('A'));
A.Case A
B.Case B
C.Do not know
D.undefined
11,下記の式の実行結果は以下の通りです.function isOdd(num){
return num % 2 == 1;
}
function isEven(num){
return num % 2 == 0;
}
function isSane(num){
return isEven(num)||isOdd(num);
}
var values = [7,4,'13',-9,Infinity];
values.map(isSane);
A.[true, true, true, true, true]
B.[true, true, true, true, false]
C.[true, true, true, false, false]
D.[true, true, false, false, false]
12,以下の式の実行結果は以下の通りです.[parseInt(3,8),parseInt(3,2),parseInt(3,0)]
A.[3,3,3]
B.[3,3,NaN]
C.[3,NaN,NaN]
D.
13,次の表式の実行結果は以下の通りです.Array.isArray(Array.prototype)
A.true
B.false
C.
D.
14,以下の式の実行結果は以下の通りです.var a = [0];
if([0]){
console.info(a == true);
}else{
console.info("else");
}
A.true
B.false
C."else"
D.
15,下記の式の実行結果は以下の通りです.[]==[]
A.true
B.false
C.
D.
16,次の式の実行結果は以下の通りです.[('5'+3),('5'-3)]
A.["53",2]
B.[8,2]
C.
D.
17,以下の式の実行結果は以下の通りです.1+-+++-+1
A.true
B.false
C.
D.
18,以下の式の実行結果は以下の通りです.var arr = Array(3);
arr[0] = 2
arr.map(function(elem){return '1';});
A.[2,1,1]
B.["1","1","1"]
C.[2,"1","1"]
D.
19,以下の式の実行結果は以下の通りです.function sidEffecting(arr){
arr[0] = arr[2];
}
function bar(a,b,c){
c = 10;
sidEffecting(arguments);
return a+b+c;
}
bar(1,1,1);
A.3
B.12
C.
D.
20,以下の式の実行結果は以下の通りです.var a = 111111111111111110000;
b = 1111;
console.info(a+b);
A.111111111111111111111
B.111111111111111110000
C.NaN
D.Infinity
21,以下の式の実行結果は以下の通りです.ar x = [].reverse;
x();
A.[]
B.undefined
C.
D.window
22,以下の式の実行結果は以下の通りです.Number.MIN_VALUE>0
A.true
B.false
C.
D.
23,以下の式の実行結果は以下の通りです.[1<2<3,3<2<1]
A.[true,true]
B.[true,false]
C.
D.
24,以下の式の実行結果は以下の通りです.2 == [[[2]]]
A.true
B.false
C.undefined
D.
25,次の表式の実行結果は以下の通りです.[3.toString(),3..toString(),3...toString()]
A.["3",error,error]
B.["3","3.0",error]
C.[error,"3",error]
D.
26,以下の式の実行結果は以下の通りです.(function(){
var x1 =y1 =1;
})();
console.info(y1);
console.info(x1);
A.1,1
B.error,error
C.1,error
D.
27,以下の式の実行結果は以下の通りです.var a = Function.length, b = new Function().length;
a === b
A.true
B.false
C.error
D.other
28,以下の式の実行結果は以下の通りです.var a = Date(0);
var b = new Date(0);
var c = new Date();
[a === b, b === c, a === c]
A.[true, true, true]
B.[false, false, false]
C.[false, true, false]
D.[true, false, false]
29,以下の式の実行結果は以下の通りです.var min = Math.min(), max = Math.max()
min < max
A.true
B.false
C.error
D.other
30,以下の表式の実行結果は以下の通りです.function captureOne(re, str) {
var match = re.exec(str);
return match && match[1];
}
var numRe = /num=(\d+)/ig,
wordRe = /word=(\w+)/i,
a1 = captureOne(numRe, "num=1"),
a2 = captureOne(wordRe, "word=1"),
a3 = captureOne(numRe, "NUM=2"),
a4 = captureOne(wordRe, "WORD=2");
[a1 === a2, a3 === a4]
A.[true, true]
B.[false, false]
C.[true, false]
D.[false, true]
31,以下の式の実行結果は以下の通りです.var a = new Date("2014-03-19"),
b = new Date(2014, 03, 19);
[a.getDay() === b.getDay(), a.getMonth() === b.getMonth()]
A.[true, true]
B.[true, false]
C.[false, true]
D.[false, false]
32,以下の式の実行結果は以下の通りです.if ('http://giftwrapped.com/picture.jpg'.match('.gif')) {
'a gif file'
} else {
'not a gif file'
}
A.'a gif file'
B.'not a gif file'
C.error
D.other
33,以下の式の実行結果は以下の通りです.function foo(a) {
var a;
return a;
}
function bar(a) {
var a = 'bye';
return a;
}
[foo('hello'), bar('hello')]
A.["hello", "hello"]
B.["hello", "bye"]
C.["bye", "bye"]
D.other
34,以下の式の実行結果は以下の通りです.var a = {class: "Animal", name: 'Fido'};
a.class
A."Animal"
B.Object
C.an error
D.other
35,以下の式の実行結果は以下の通りです.var a = new Date("epoch")
A.Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
B.current time
C.error
D.other
36,以下の式の運転結果は次の通りです.var a = /123/,
b = /123/;
a == b
a === b
A.true, true
B.true, false
C.false, false
D.other
37,以下の式の実行結果は以下の通りです.What is the result of this expression? (or multiple ones)
var a = [1, 2, 3],
b = [1, 2, 3],
c = [1, 2, 4]
a == b
a === b
a > c
a < c
A.false, false, false, true
B.false, false, false, false
C.true, true, false, true
D.other
38,以下の式の実行結果は以下の通りです.var a = {}, b = Object.prototype;
[a.prototype === b, Object.getPrototypeOf(a) === b]
A.[false, true]
B.[true, true]
C.[false, false]
D.other
39,以下の式の実行結果は以下の通りです.function f() {}
var a = f.prototype, b = Object.getPrototypeOf(f);
a === b
A.true
B.false
C.null
D.other
40,以下の式の実行結果は以下の通りです.function foo() { }
var oldName = foo.name;
foo.name = "bar";
[oldName, foo.name]
A.error
B.["", ""]
C.["foo", "foo"]
D.["foo", "bar"]
41,以下の式の実行結果は以下の通りです."1 2 3".replace(/\d/g, parseInt)
A."1 2 3"
B."0 1 2"
C."NaN 2 3"
D."1 NaN 3"
42,以下の式の実行結果は以下の通りです.function f() {}
var parent = Object.getPrototypeOf(f);
f.name // ?
parent.name // ?
typeof eval(f.name) // ?
typeof eval(parent.name) // ?
A."f", "Empty", "function", "function"
B."f", undefined, "function", error
C."f", "Empty", "function", error
D.other
43,以下の式の実行結果は以下の通りです.var lowerCaseOnly = /^[a-z]+$/;
[lowerCaseOnly.test(null), lowerCaseOnly.test()]
A.[true, false]
B.error
C.[true, true]
D.[false, true]
44,以下の式の実行結果は以下の通りです.var lowerCaseOnly = /^[a-z]+$/;
[lowerCaseOnly.test(null), lowerCaseOnly.test()]
A.[true, false]
B.error
C.[true, true]
D.[false, true]
45,以下の式の実行結果は以下の通りです.[,,,].join(", ")
A.", , , "
B."undefined, undefined, undefined, undefined"
C.", , "
D.""