function xxx(a, b, c, d) {
var b = b || 0;
var c = c || 1;
var d = d || -1;
alert(a+" "+b+" "+c+" "+d);
}
xxx(1,0,0,0);
弹出的是 1 0 1 -1
而不是 1 0 0 0
用arguments的方法也有同样的错误,有什么别的方法吗?
var b = b || 0;
var c = c || 1;
var d = d || -1;
alert(a+" "+b+" "+c+" "+d);
}
xxx(1,0,0,0);
弹出的是 1 0 1 -1
而不是 1 0 0 0
用arguments的方法也有同样的错误,有什么别的方法吗?
而不是 1 0 0 0这是正确的
a = 1那么:a||0则==1
b = 0那么:b||0则==0
c = 1那么;c||1则==1
d = -1那么:d||-1 = 1 //负数也是真
var b = b || 0;
var c = c || 1;
var d = d || -1;
去掉方可达到你想要的效果,不过这不符合你原本的意思
function xxx(a, b, c, d) {
b = typeof b!="undefined"?b:0;
c = typeof c!="undefined"?c:1;
d = typeof d!="undefined"?d:-1;
alert(a+" "+b+" "+c+" "+d);
}
xxx(1,0,0,0);