js 函数导读 知识点以及案列

<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>

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值