文章目录
arguments使用
<script>
function fn(){
console.log(arguments);//里面存储了所有传递过来的实参
console.log(arguments.length);
console.log(arguments[2]);
}
fn(1,2,3);
</script>
伪数组,并不是真正意义上的数组
具有数组的length属性
按照索引的方式进行存储
没有真正数组的一些方法 pop() push()等等
可以按照数组的方式遍历arguments
<script>
function fn(){
for(var i=0;i<arguments.length;i++){
console.log(arguments[i]);
}
}
fn(1,2,3);
</script>
利用函数求任意个数的最大值
<script>
function getMax(){
var max = arguments[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i] > max){
max = arguments[i];
}
}
return max;
}
console.log(getMax(1,2,3));
console.log(getMax(54,62,35,16,25));
</script>
利用函数翻转数组
<script>
function reverse(arr){
var newArr = [];
for(var i = arr.length-1;i >= 0;i--){
newArr[newArr.length] = arr[i];
}
return newArr;
}
var arr1 = reverse([2,3,1,5,6]);
console.log(arr1);
</script>
函数封装冒泡排序
<script>
function sort(arr){
for(var i = 0;i < arr.length-1;i++){
for(var j = 0;j < arr.length-i-1;j++){
if(arr[j] > arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
var arr1 = sort([1,4,2,9]);
console.log(arr1);
var arr2 = sort([23,64,51,25]);
console.log(arr2);
</script>
利用函数判断闰年
<script>
function isRunYear(year){
//如果是闰年,返回true,否则false
var flag = false;
if(year % 4 == 0&&year %100 != 0 ||year % 400 == 0){
flag = true;
}
return flag;
}
console.log(isRunYear(2000));
</script>
函数可以调用另一个函数
<script>
function fun1(){
console.log(111);
fun2();
console.log('fn1');
}
function fun2(){
console.log(222);
console.log('fn2');
}
fun1();
</script>
输出结果:
111
222
fn2
fn1
输出二月份天数
<script>
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;
}
return flag;
}
</script>
函数的两种声明方式
利用函数关键字自定义函数(命名函数)
<script>
function fn1(){
}
fn1();
</script>
函数表达式(匿名函数)
<script>
var 变量名 = function(){};
</script>