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);
}