简单笔试题

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值