您的位置:首页 > 其它

简单笔试题

2017-09-26 20:36 113 查看

1、 函数调用自身

今天又遇到了一道笔试题,啊!就那样错了~

function fn(m,n){
console.log(n);
return {
fn:function(f){
return fn(f,m);
}
}
}
var b = fn(0).fn(1).fn(2);


输出啥?

没错,输出的是:undefined、0、1

其实题目还是不难,想想还是就明白了,第一个传入的参数是0,形参m就代表0,而形参n,没传入值为undefined;最后返回一个对象,再调用此对象的fn传入形参f为1,而形参m即为0,再调用此函数,则输出0,同理最后输出1。

2、‘=’赋值

var a = new Object();
a.val = 1;
b = a;
b.val = 2;
alert(a.val === b.val);


输出:true

原因:对象等号赋值是地址引用,修改其中一个,另一个的值也会随之改变,也就是说,a、b他们指向同一个地址,无论其中一个怎么变化,它们的内容始终相等!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: