JavaScript中的函数

函数的定义

   函数的一段JavaScript的代码,定义一次却可以执行多次,提高了代码的复用性

定义函数的方式

   函数的声明方式
  函数在声明的时候并不会执行,必须要调用这个函数
     function 函数名(){
           函数体
        }

	function fun(){
		console.log("关注我!评论我!")
		}
	fun();/*输出结果为关注我!评论我!*/

   字面量方式
     var 函数名称 = function(){
          函数体
        }

	var fun1 = function(){
		console.log("关注我!评论我!")
		}
	fun1();/*输出结果为关注我!评论我!*/

函数的例子

   我们来做一个输出0~100之间的所有奇数的函数吧

	var fun = function(){  //定义一个函数
		for(var i = 0;i<=100;i++){
			if(i%2 != 0){ //判断i是否为奇数
				console.log(i);
				}
			}
		};
	fun();   //函数的执行

函数中的参数

   函数的参数就相当于在函数中使用的变量,JavaScript中的函数定义并未制定函数参数的类型所以JavaScript中的数据类型都可以当作函数的参数,函数调用时也未对传入的参数做任何类型的类型检查。并且在函数中定义的变量只能在函数中使用
    形参 定义函数时给定的参数
    行参 调用函数时使用的参数
    一般来说的话形参与实参的个数是相同的,但是在JavaScript中并不强求这一点
    所以就会出现以下三种情况:
      当形参与实参的个数相同时,此时一一对应
      当形参大于实参的个数时,此时多了形参,则会输出undefined。
      当形参小于实参的个数时,此时以形参为准,有几个形参输出几个。

函数中arguments

   arguments是一个对应于传递给函数的参数的类数组对象。arguments对象是所有函数(箭头函数除外)中都可用的局部变量。你可以通过arguments对象在函数中引用函数中的所有参数。arguments包含传递给函数的每个参数,第一个参数在索引0处。

	function sum(){
		var count = 0; //定义一个变量来计算所有数字的和
		for(var i = 0;i < arguments.length;i++){ //遍历出arguments中的数字
			count += arguments[i];
			console.log("这次所有参数的和是:" + count);
			}
		};
	sum(1,2,3,55,4,5,5);//调用sum函数

函数中的return

   函数的关键字,只能存在与函数之内。从字面上来理解就是返回值。它有着两个作用,一个是返回当前函数的值,一个是中止函数的执行。(我只是简单提一下return,说说自己对return的理解,若有不当,请博友们评论告知),上代码大家看吧。

	function fn (){
		var count = 0;
			for(var i = 0;i<arguments.length;i++){
				count += arguments[i];
		}
			return count;
	}
	console.log(fn(1,2,3,4,5)); //输出结果为15

   上面的代码写的是一个求和的函数,通过arguments这个关键字来获取用户所输入的值,并且我们通过return这个关键将count返回出来了。

	function fn (){
		var count = 0;
			for(var i = 0;i<arguments.length;i++){
				count += arguments[i];
		}
	}
	console.log(fn(1,2,3,4,5)); //输出结果为undefined

   还是之前的代码,这次我不加return,此时的输出结果为undefined。为什么是undefined,以下是我自己的理解:
      通过function我们创建了一个函数,并且在堆内存开辟了一个空间,当我们这个函数执行过后,这个空间就会被销毁。此时我们再想拿到函数里面的内容是不行的,所以是undefined。但是通过return关键字可以将我们想要的东西返回出来。这就是return的作用。
   return可以中止函数的执行,上代码。

	function func1(){
		var a = 1;
		while (true){
			return a;
		}
	};
		alert(func1());

   我们可以看到在上面代码中,我写了一个死循环。然后我在alert中执行了这个函数。倘若没有这个return语句的话,那么浏览器就会卡死。望小伙伴们不要轻易尝试死循环,我的电脑比较差,动不动带崩哈哈哈。言归正传,但是我写了return这个关键字的话,浏览器只会弹出一次1;通过这个代码我们可以知道,return这个关键字可以中止函数的执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值