简单笔试题

来源:互联网 发布:淘宝旗舰店男装排行榜 编辑:程序博客网 时间:2024/06/14 18:27

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他们指向同一个地址,无论其中一个怎么变化,它们的内容始终相等!

原创粉丝点击