1.这样为什么不可以插入
function eachOne(str,callback) {
var arr = str.split(',');
var i = 0;
for (; i < arr.length; i++) {
callback(arr[i]);
}
}
var stack = [];
eachOne('1,2,3,4',stack.push);
alert(stack);
2.而这样又可以
function eachOne(str,callback) {
var arr = str.split(',');
var i = 0;
for (; i < arr.length; i++) {
callback(arr[i]);
}
}
var stack = [];
var stackOp={push:function(elem){ stack.push(elem);}};
eachOne('1,2,3,4',stackOp.push);
alert(stack);
function eachOne(str,callback) { var arr = str.split(','); var i = 0; for (; i < arr.length; i++) { callback.call(stack,arr[i]); } } var stack = []; eachOne('1,2,3,4',stack.push); alert(stack); 这样就可以了
这样是可以,但这就和stack这个对象耦合了,未达到效果
@空头支票: 那就这样
function eachOne(str,callback) {
var arr = str.split(',');
var i = 0;
for (; i < arr.length; i++) {
callback(arr[i]);
}
}
var stack = [];
eachOne('1,2,3,4',function(elem){ stack.push(elem);});
alert(stack);
@Yu: 我知道这样可以,在我提的问题中也把这个答案列出来,我最初是想问它们两种方法有什么区别,为什么 ,你没看清问题
楼上正解
是个好问题。。