1.函数function
arguments可以用来输出实参的真实长度,因为有时候实参传递的个数不一定和形参的个数相等,所以这种用法可以知道实际实参的个数
function play(a, b) {
alert(arguments[0] + '-' + arguments[1] + '-' + arguments[2]);
alert(arguments.length); //指的是实参的长度
}
play(10, 20, 30, 40);
自定义函数:一次封装,多次调用!
(1)函数声明式:
function (){
//作用域独立
}
(2)对象字面量方式
var fn=function(){}
//匿名函数
(3)ES6
var fn=()=>{}
//箭头函数
调用函数 fn();
(4)递归:函数自身调用自身(死循环)
function digui(){
digui();//递归调用(将整个函数体的代码进行一次执行)
}
(5)自调函数
(function(形参){})(实参)//()中放参数
(function(形参){
console.log()
})(实参)//()中放参数
(5)**断点调试:**debuger;
(6)arguments //参数 参数体(返回实参个数)
console.log(arguments.length)//返回实参个数
//arguments作用在函数里面
2.函数的参数
1.形参:定义函数的过程中设置的变量
- 必选参数:调用中必选传的
- 可选参数:调用中不一定传的
2.实参:调用过程中产生的值
3.return 返回值
4.定时器
Windows.setInterval(function(){},1000) 周期性定时器
Window.setTimeout(function(){},1000) 一次性定时器(延迟)
5.清除定时器
clearTimeout(id)
clearInterval(id)
<button type="button" class="begin">开启定时器</button>
<button type="button" class="stop">关闭定时器</button>
<script type="text/javascript">
var b1 = document.querySelector('.begin')
var b2 = document.querySelector('.stop')
var time1 = null //全局变量 null是一个空对象
b1.addEventListener('click', function() {
time1 = setInterval(function() {
console.log("你好吗!");
}, 1000)
})
b2.addEventListener('click', function() {
clearInterval(time1)
})
</script>
6.变量
(1)局部变量
function 内部定义的变量
(2)全局变量
7.函数内部的关键字
return;返回值(函数值遇到return就直接终止)
debugger ;断电调试
arguments ; 参数列表
8.总结:
(1)功能模块封装(一次封装,多次调用)
(2)事件的方法体(驱动js 事件)
(3)函数参数(回调函数)
(4)闭包
(5)构造函数(产生‘类’)