函数命名
- 使用function 函数名(形参){
函数体
}
arguements
- 伪数组 ,并不是整整意义上的数组
- 按照索引的方式进行存储
- 他是没有真正数组的一些方法pop() push()等
- 只有函数才有arguments对象,而且每个函数都内置好了arguments对象
判断2月有多少天案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//数组的最大值
/* function getMax(arr){
var max=arr[0];
for(var i=1;i<=arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
var maxnum=getMax([12,23,56,45,12,25,62]);
console.log(maxnum); */
//反转数组
/* function reverse(arr){
var newArr=[];
for (var i=arr.length-1;i>=0;i--){
newArr[newArr.length]=arr[i];
}
return newArr;
}
var arr1=reverse([45,56,2,5,4,6,4,5]);
console.log(arr1); */
//判断2月有多少天
function backDay(){
var year=prompt('请输入年份:');
if(isRunYear(year)){
alert("当前年份是闰年2月有29天");
}else{
alert('当前年份是平年2月份有28天');
}
}
backDay();
//判断是否是闰年的函数
function isRunYear(year){
//如果是闰年我们返回true,否则返回false
var flag=false;
if(year % 4 == 0&& year % 100 != 0 || year % 400 == 0){
flag =true;
}else{
flag=false;
}
return flag;
}
</script>
</body>
</html>
作用域链:
- 内部函数访问外部函数的变量,财采用的是链式查找的方法来决定取哪个值,这种结构哦们成为作用域链,简单说就是就近原则
比如下面的函数 ,console.log(num)会先从离他最近的找,找到的话就输出他的值,找不到就继续找
var num=10;
function fn(){
var num=20;
function fun(){
console.log(num);//20
}
}