一开始我是这么写的:
function aryPush(){
var y = 'y';
var ar = ['x'];
if (y){
ar.push(y);
}
alert(ar); //[x,y]
}
没问题,输出正是我要的结果。
但是我嫌用if写在3行不够简洁,于是改为下面的:
function aryPush(){
//var y = 'y';
var ar = ['x'];
ar = y ? ar.push(y) : ar;
//ar = ar.push(y);
alert(ar); //2
}
无论我是否定义y,结果都是输入2。实在想不明白。
js入门菜鸟,请勿见笑,请不吝赐教!
push方法
不返回原数组,所以你把它的返回值赋值给ar
是不对的。也就是说,你想往数组后面添加数据,直接调用push
就好了,没必要再赋值。