回调函数
关于函数
- 函数隐藏属性(arguments):
只存在函数中
每个函数中都会自带数组(内置对象),承载传入的实参
通过下标(在函数中)使用参数 - 什么是函数
事件驱动,或者当它被调用时执行的可重复的代码块 - 作用
使程序变得更简短清晰;
有利于程序维护;
可提高程序开发的效率
提高代码的重用性(复用性)
函数嵌套
不允许嵌套定义,嵌套的是调用
效果: 函数功能板块化,更灵活,适用性更强
//比较两个 数的大小
function TwoNumber(av,bv){
return av>bv ? av:bv;
}
var sml = TwoNumber(1,2);
//比较三个数的大小
function ThreeNumber(a,b,c){
var s = TwoNumber(a,b);
return s > c ? s : c;
}
var cn = ThreeNumber(2,3,5);
//比较四个数的大小
function fourNumber(one,two,three,four){
var three = ThreeNumber(one,two,three);
return three > four ? three : four;
}
var max = ThreeNumber(31,411,54);
console.log(max);
形参的命名:
- 在定义函数的小括号中自定义,符合命名规则即可
- 一旦定义过,在当前函数内,必须按照定义好的名字使用
变量的作用域
变量的声明: var s;
变量的定义: var s = 10;
- 全局变量 : 不在函数中声明定义(之前的写法);
它的作用范围,是当前整个文件。任何地方都可以获取并修改它 - 局部变量 : 定义或声明在函数中的变量,当函数执行结束后,这个变量被回收
分支和循环结构并不能产生局部变量。它们产生的是全局变量
Math对象
是js提供给开发者的一款内置常见数学公式的对象
所有Math对象中的方法, 都会有返回值
-
定义一个随机数
Math.random()*(较大的数 - 较小的数) + 较小的数
范围只确定终点的 随机数 Math.random() * 10
范围两端都确定的 随机数 Math.random() * (10-7)+7 -
去掉随机数中的小数
- Math.ceil() : 向上取整
- Math.floor() : 向下取整
- Math.round() : 四舍五入
-
属性方法
abs()返回数值的绝对值
ceil()进1取整
max(x,y)输出x,y中的最大值
min(x,y)输出x,y中的最小值
pow(x,y)返回x的y次幂
随机色
- 颜色的赋值
通过英文名称
通过rgb三原色调配比例,来赋值
通过16进制位数,来匹配对应的颜色
background-color: rgb(140,230,120); - opacity 透明度
取值范围 0~1
1 为不透明, 0为完全透明
background: red;
opacity: 0.5; - rgba( ): 4个参数 r g b a
a : 透明度
必须要四个参数,一个都不能少
background-color: rgba(200,100,10,0.6);
var box = document.getElementsByClassName("box")[0];
function c(){
return Math.floor(Math.random()*255);
}
box.style.backgroundColor = 'rgb(' + c() + ',' + c() + ','+ c()+ ')';