1.函数:封装了一段可以被重复使用的代码块,让大量的代码重复使用
语法结构:
<!-- <script>
function 函数名(){
函数体
}
调用函数
</script> -->
2.函数使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<!-- <script>
function 函数名(){
函数体
}
调用函数
</script> -->
<script>
function cook(aru) {
console.log(aru);}
cook('nihao');
</script>
<script>
function saiHai() {
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
}
saiHai();
</script>
</head>
<body>
</body>
</html>
3.函数的参数
function cook(aru) {
console.log(aru);
}
cook('你好');
cook('Hello word!')
function getSum(num1, num2) {
console.log(num1 + num2);
}
getSum(1, 3);
function getSums(start, end) {
var sum = 0;
for (var i = start; i <= end; i++) {
sum += i;
}
console.log(sum);
}
getSums(1, 100);
函数的返回值⚠️return语句后面的代码不会执行,return只能返回一个值,如果用逗号隔开会以最后一个为准(但可以return[],里面可以包含很多值)
function getResion() {
return 666;
}
// getResion();
console.log(getResion());
function getResions(jk) {
return jk;
}
console.log(getResions('徐大骚'));
function getJson(num3, num4) {
return [num3 + num4, num3 * num4, num3 - num4, num3 / num4];
}
var re = getJson(6, 4);
console.log(re);
函数求最大值
function getMax(num1, num2) {
if (num1 > num2) {
return num1;
} else {
return num2;
}
}
console.log(getMax(1, 3));
console.log(getMax(11, 3));
第二种求最大值
function getMax(num1, num2) {
// if (num1 > num2) {
// return num1;
// } else {
// return num2;
// }
//
return num1 > num2 ? num1 : num2;
}
console.log(getMax(1, 3));
console.log(getMax(11, 3));
第三种
function getArrmax(arr) {
var max = arr[0];
for (var i = 1; i <= arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
var re = getArrmax([32, 9, 47, 28, 5, 7, 2, 8]);
console.log(re);
arguments
<script>
function fn() {
console.log(arguments);// 里面存储了所有传递过来的实参
}
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(1, 2, 2, 3, 2, 5, 2, 2, 2, 5));
</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([1, 3, 4, 6, 9]);
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 arrl = sort([2, 3, 5, 2, 5, 2, 1, 8, 3, 6, 1]);
console.log(arrl);
</script>
// 判断闰年 闰年为true 否则为false
function isRunnian(year) {
var flag = false;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
flag = true;
}
return flag;
}
console.log(isRunnian(2000));
console.log(isRunnian(1997));
函数可以调用函数
function backDay() {
var year = prompt('请输入年份:');
if (isRunYear(year)) {
alert('当前年份是闰年2月份有29天');
} else {
alert('当前年份是平年2月份有28天');
}
}
backDay();
function isRunYear(year) {
var flag = false;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
flag = true;
}
return flag;
}
函数两种声明方式
在这里插入代码片