<template>
</template>
<script>
export default {
data() {
return {
}
},
onLoad() {
// 函数导读全部知识点
// 函数 就是封装一段可被重复调用执行代码块
// 例子对比
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum = sum + i;
}
console.log(sum)
//函数求和
function getSum(num1, num2) {
var sum = 0
for (var i = num1; i <= num2; i++) {
// var sum = 0;
sum = sum + i;
}
console.log(sum)
}
getSum(1, 100)
getSum(1, 50)
// 函数的使用分为两步
// 声明函数 调用函数
// 1.声明函数
// function 函数名 (){
// // 函数体
// }
function getHi() {
console.log('hi')
}
// (1)function 声明函数关键字 全部小写
// (2) 函数是做某一件事情 函数名一般是动词 sayHi
// (3) 函数不调用自己不执行
// 调用函数
// 函数名();
getHi();
// 调用函数名不要忘记小括号
// 案列 求 1到100累加和
function steSum(num3, num4) {
var sum = 0;
for (var i = num3; i <= num4; i++) {
sum = sum + i;
}
console.log(sum);
}
steSum(1, 100);
// 函数参数
// 形参 和 实参
// 我们可以利用函数参数实现函数重复不同代码
// 代码基本规范
// function 函数名 (形参1...){ 在声明函数里面小括号 形参
// }
// 函数名(实参1...)在调用函数名小括号实参
function cook(arr) {
// 形参就是接受实参 arr= '酸辣土豆丝' 类似一个变量
console.log(arr)
}
cook(1)
// 函数的参数可以有 可以没有 个数不限
// 1 案例 求任意两个数的和
// function sumEsm(num7, num8){
// sum = 0;
// for (var i = num7; i < num8; i++) {
// sum = sum + i
// }
// console.log(num7, num8)
// }
// sumEsm(1,10)
// 错误写法
// 正确写法
// 1.案列 求任意两个数的和
function sumEum(num7, num8) {
console.log(num7 + num8)
}
// 调用
sumEum(1, 3)
// 2 案例 求任意两个数之间的和
function sumSum(num5, num6) {
sum = 0;
for (var i = num5; i < num6; i++) {
sum = sum + i
}
console.log(sum)
}
steSum(1, 100);
// 小细节
// 要用逗号隔开
// 形参看做一个没有声明变量
// 函数形参和实参个数不匹配
function getSumSum(num9, num10) {
console.log(num9 + num10)
}
//调用
// 1.如果实参与形参数量一致 结果正常输出
getSumSum(1, 3)
// 2.如果实参多与形参数量 会取到形参个数 结果输出4
getSumSum(1, 3, 5)
// 3.如果实参少于形参结果等于NaN 形参可以看做是不用声明的变量 num2是一个变量但是没有接受值 结果是undefin
getSumSum(1)
// 建议我们尽量实参与形参数量一致
// 函数的返回值
// return 语句
// 1.函数是做某件事或者实现某种功能
function cook(ars) {
console.log(ars)
}
cook('大肘子');
// 2.函数的返回值格式
// function 函数名 (){
// return 输出的结果
// }
// 函数名();
// 代码验证
function cooks(aus) {
return aus;
}
console.log(cooks('酸辣土豆丝'))
// (1)我们函数只是实现某种功能 最终的结果需要返回给函数调用名() 通过return 实现着
// (2) 只要函数遇到return 就把后面结果 返回给函数调用者 函数名()=return后面结果
// 案列
// 求任意两个数的和
function nums(num11, num12) {
return num11 + num12;
}
console.log(nums(1, 3))
// 利用函数 求两个数的最大值
function getMax(num13, num14) {
if (num13 > num14) {
return num13;
} else {
return num14;
}
}
console.log(getMax(1, 0))
// 函数返回值
// 函数没有return 返回 undefined
// 我们的函数如果有return则返回的值是return 后面的值 如果没有return则返回undefined
function swt() {
return 555;
}
console.log(swt())
// 函数返回值return 就返回后面值
function swts() {
return;
}
console.log(swts())
// 函数返回值return后面没有值就unddfined
// 当我们不确定有多少参数传递时 我们可以用argunments 来获取
function fn() {
console.log(arguments);
// 里面储存了所有传递参数
console.log(arguments.length);
console.log(arguments[0]);
}
fn(1, 2, 3);
fn(1, 2, 3, 4, 5);
// 我们 可以按照数组的方式遍历 arguments
function fns() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i])
}
}
fns(1, 2, 3, 4, 5);
// 伪数组并不是真正意义上数组
// (1) 具有数组length 属性
// (2)按照 索引号的方式进行存储
// (3) 他没有真正数组的一些方式 pop() push()
// 只有函数才有arguments
// 每个函数都有arguments 内置好了
// arguments 使用
// 求任意两个数的最大值
function maxMam(num20, num21) {
for (var i = 0; i < arguments.length; i++) {
if (num20 > num21) {
return num20;
} else {
return num21;
}
}
}
maxMam();
console.log(maxMam(44, 77))
// 利用函数求任意数 最大值
function maxMams() {
// 取一个数组第一个做比较
var max = arguments[0];
// for 循环
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i]
}
}
return max;
}
console.log(maxMams(1, 100));
// 利用函数封装方式 翻转任意一个数组 reverse 翻转的意思 arr就是旧数组的意思
function reverse(arr) {
// 新数组
var newArr = []
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i]
}
return newArr;
}
var arr = reverse([1, 3, 7, 9])
console.log(arr)
// 利用函数封装方式 对数组排序 泡排序案例
// 第一步 sort 排序意思
function sort(arr1) {
for (var i = 0; i < arr.length; i++) {
// 外面一层循环
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr1[j] > arr1[j - i]) {
// 交换变量
var temp = arr1[j];
arr1[j] = arrl[j + 1];
arr1[j + i] = temp;
}
}
}
return arr1;
var arr1 = sort([1, 4, 2, 9])
}
// 判断闰年
// 要求 输入一个年份 按断是否润年 (闰年 能被4 整除并且不能被100整除或或者被400整除)
// 如果是闰年返回是true 否则返回false
function isRunYear(year) {
var flag = false;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
flag = true;
}
return flag;
}
console.log(isRunYear(2005));
// // 函数可以调用另一个函数
// function fn1(){
// console.log(11);
// // 调用
// fn2();
// }
// fn1();
// function fn2 (){
// console.log(22)
// }
// 测试
function fn1() {
console.log(111);
fn2();
console.log('fn1')
// 111
// fn1
}
function fn2() {
console.log(222)
console.log('fn2')
// 222
// fn2
}
fn1();
// 用户输入年份 输出当前年份2月份的天数
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;
}
// 函数的两种声明方式
// 1.利用函数的关键字
function fn(){
}
fn();
0
(aus){
console.log('我是函数表达式');
console.log(aus)
}
fun('pink老师');
// (1) fun 是变量名 不是函数名
// (2)函数表达式声明方式跟声明变量差不多 只不过变量里面存的是值 而函数表达式里面里面存是函数
// (3) 函数表达式也可以进行传参的
},
methods: {
}
}
</script>
<style>
</style>