js学习笔记----进阶Day04回调函数和闭包
2018-04-16 本文已影响0人
Pamela_Liu
Math对象常用函数
- 向上取整 天花板
Math.ceil(-5.1); // -5
- 下舍入
Math.floor();
parseInt();
- 四舍五入
Math.round();
缓动动画
- 向上取整的原因: 定时器计数的小数加不上
js获取css样式
- getStyleAttr(); //系统提供的方法
// box.style.xx 只能获取行内样式 内嵌和外链都不能获取
function getStyleAttr(obj, attr) {
if(obj.currentStyle){
// IE 和 opera
return obj.currentStyle[attr];
}else {
return window.getComputedStyle(obj, null)[attr];
}
}
// 得到的结果是 100px 字符串
var left = getStyleAttr(box, "left");
console.log(parseFloat(left));
console.log(getStyleAttr(box, "width"));
console.log(getStyleAttr(box, "height"));
// 没有的属性 得到的结果是 none
console.log(getStyleAttr(box, "boxShadow"));
回调函数的用法 !!!重要
- 把函数当做参数传递. 由传入的参数决定执行那个函数.
//简写
if(callback) callback();
- if else若不加大括号, 只执行第一条语句.
播放音乐
Audio对象方法.png闭包
- 匿名函数加括号代表调用这个函数
for(var i = 0; i<list.length; i++){
/* (function fn(obj,i) {
obj.onmouseover = function () {
alert(i);
}
})(list[i],i);*/
(function (index) {
list[index].onmouseover = function () {
alert(index);
}
})(i);
}
- 好处: 函数传参在很多地方可以拿到.