前端学习——js的函数学习

  1.定义

函数声明:

命名函数表达式:忽略名字,等号右边的也就相当于是匿名函数4

匿名函数表达式———函数表达式

 

 2.参数

函数里面写参数,相当于在里面var a和var b

 

实参列表

 

实参列表出生时有几个就是几个,让b等于2也不会往里加了,只当变量使,不对应形参不映射,如果让a=2会让a变为2

 

 

 3.函数的结束条件和返回值

1.结束 return才会终止,如果我们自己没写,程序内部隐式地加上return

2.return 终止函数加返回变量

形参长度

函数的局部变量

函数里面可以访问外面的变量,外面的不能访问里面的

 

 

<html>
	<head>
		<title>js的函数学习</title>
		<meta charset="UTF-8"/>
		<!--js的函数学习一
			作用:功能代码的封装,减少代码的冗余
			1:函数的声明
			     方式一:function 函数名(形参名1,形参名2.。。){执行体}
			     方式二:var 函数名=new Function("形参1","形参2"...,"函数执行体");
			     方式三:var 变量名=function(形参名1,形参名2...{函数执行体})
			     注意:此声明表明再js中函数是作为对象存在的
			2:函数的参数
			 js中的函数再调用时,形参可以不赋值,不会报错
			 js中的函数再调用时,形参赋值可以不全部赋值,不会报错,但是实参会以此赋值
			3:函数的返回值
			在js中如果函数有返回值则直接返回,没有返回值默认返回underfined
			注意:js的代码声明区域和执行区域是一起的,都是在js代码的代码域中
			4:函数的执行符
			在js中,函数的执行符是(),没有小括号则函数名其实就是一个变量,加上小括号函数会被执行
			5:函数作为实参传递,在js中函数是可以作为实参传递的
		-->
		<script type="text/javascript">
		//方式一
			 function test1(a1,a2)
			{
				alert("hi");
			}
		//test1(1,2);
		//方式二
		var test2=new Function("a1","a2","alert('函数声明2')");
		//test2(1,2);
		//方式三:
		var test3=function(a1,a2)
		{alert("我是函数声明3");}
		//test3(1,2);
		//函数的参数学习
		function testParam(a1,a2)
		{
		    alert(a1);
			alert("函数的形参学习");
		}
		//testParam();
		//函数的返回值
		var testReturn=function()
		{
			alert("函数的返回值学习");
			return "js";
	
		}
		//alert(testReturn());
		//函数执行符
		var test4=function(){
			alert("hi hi");
			return "js";
		}
		//alert(test4);
		// alert(test4());
          //函数作为实参进行传递
          function testobj(a){
          	alert(a());
          }
          var testParam=function()
          {
          	alert("我是函数参数");
          	
          }
          testobj(testParan());
          //开发中经常用的传递方式
          
          
		</script>
		
	</head>
	<body>
		
	</body>
</html>

如何打印出形参

 <script>
   function sum(a,b){
       var c=a+b;
       document.write(c);
    for(var i=0;i<arguments.length;i++){
        console.log(arguments[i]);
    }  
   }
  sum(1,2,3,4)
  </script>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!--
		  函数 function test(){}
                  函数表达式 var test=function abc(){}
		-->
	<script type="text/javascript">
	//命名函数表达式
	 var test=function abc(){
	 	document.write('a');
	 }// function abc(){document.write('a');}这样写的话这一块为表达式了,abc相当于匿名
	 
	 //所以可以写成这样
	 //匿名函数表达式----函数表达式
	 var demo=function(){
	 	document.write("b");
	 }
	 //形式参数
	function sum(a,b){
		//var c=a+b;
		document.write(a+b+"<br/>");
	}//var a,var b;
	//实际参数---实参列表数组arguments
	sum(1,2);//a=1,b=2
	sum(2,3);
	function add(a,b,c){
		console.log(arguments);//打印在控制台上
		console.log(arguments.length);
		if(add.length>arguments.length){
			console.log("形参多了");
		}
		else if(add.length<arguments.length){
			console.log("实参多了");
		}
	     else{
	     	console.log("相等");
	     }
	}
	//实际参数--实参
	add(11,undefined,"abc",4);
	function re(a,b){
		console.log('a');
		return ;//终止函数 不会再打印b了
		console.log('b');
	}
	re(1,2);
	function rec(){
		return 123;//既是返回值也是终止函数
	}
	var num=rec();//123
	function myNumber(target){
		
	}
	</script> 
	</head>
	<body>
	
	</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值