Web前端面试中遇到的问题

1. 用Javascript写一个方法实现以下结果:

foo(1,2) 结果:3

foo(1)(2) 结果:3

答案:

function foo(a,b){ if(!b) { return function(c){return a+c;} } else {return a+b;} }

2. 根据以下语句计算出结果。

var a = {n:1};

var b = a;

a.x = a = {m:2};

console.log(a);

console.log(a.x);

console.log(b)

答案: a : {m:2} a.x: undefined b: {n:1,x:{m:2}}

3. 根据下列语名得出结果

var x = 0;

function foo(){

console.log(x);

var x = 1;

console.log(x);

}

foo();

答案: 两处x的值分别为:undefined 和 1

4. 根据下列语名得出结果

console.log(x); //function x(){}

var x =10;

console.log(x); //10

x=20;

function x(){}

console.log(x); //20

if(true){var a = 1;}

else { var b = true; }

console.log(a); //1

console.log(b); //undefined

console.log(c); //Uncaught ReferenceError: c is not defined.

经验分享 程序员 微信小程序 职场和发展