短路运算符的使用
if (callback) {
callback();
}
等同于
callback && callback();
animate.js
//1 动画函数 第三个参数是接收回调函数的形参 function animate(object,target,callback) { clearInterval(object.timer); object.timer = setInterval(function () { var step = (target - object.offsetLeft)/10; step = step > 0 ? Math.ceil(step) : Math.floor(step);//如果正值就往大取整 如果是负值就往小取整 if (object.offsetLeft == target) { clearInterval(object.timer); //3 在定时器结束后 执行回调函数 // if (callback) { // callback(); // } callback && callback();//逻辑与运算符 } object.style.left = object.offsetLeft + step + 'px'; },15); }