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.



以上是我面试中遇到的一些问题,欢迎大家补充和讲解啊。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值