js函数返回值及回调函数

函数返回值------return

  • 有返回值的叫函数,无返回值的叫过程
  • 返回值的类型由return后面的值决定的,返回值可以是任意数据类型
  • return后没有值,会返回undefined
  • 函数不写返回值也会返回undefined
  • 函数中return就代表函数执行完毕,后面的语句不会再执行
<script>
    function sum(num1, num2) {
     
	return num1 + num2;
		}
	var num=sum(11,23);
	alert(num);
</script>

执行结果:返回34

立即执行函数-------IIFE

立即执行函数是指指函数声明后立即执行,也就是说函数自己调用自己
语法:
直接在函数声明后加括号

function() {
     
  	alert(aa);
}();

变量函数

var demo = function(){
     
	return "I love js very much!";
}
alert(demo)

像这种把函数保存在变量中就叫做变量函数

变量名不加括号时,这个变量名就代 表整个函数,加括号时代表函数的调用

var fun1=function(){
     
	var fun2=function(){
     
		alert("good good study day day up!");
	}
	return fun2;
}

alert(fun1() )

当调用fun1()时,就会返回整个fun2()函数的源码

js函数返回值及回调函数_第1张图片
alert(fun1()());
而此时在加一个括号就相当于把fun2()执行了一遍

js函数返回值及回调函数_第2张图片

回调函数

在JavaScript中一个函数可以作为另一个函数的参数,这个作为参数的函数就叫回调函数,以回调函数作为参数的函数叫做主函数

<script type="text/javascript">
			function main(a,b,fun){
     
				return a+b+fun();
			}
			function test(){
     
				return 100;
			}
			alert(main(11,12,test));
</script>

在调用main()函数时,将test()函数通过实参的形式传递给fun这个形参,
此时main()函数就叫做主函数
test()函数就叫做回调函数

<form action="" name="form1">
			表格行数:<input type="text" name="row"><br>
			表格列数:<input type="text" name="col"><br>
			表格宽度:<input type="text" name="wide"><br>
			偶数行颜色:<input type="color" name="color"><br>
			<input type="button" value="生成表格" onclick="showTab()">
		</form>
		
		
		<script type="text/javascript">
			function showTab(){
     
				var line=parseInt(document.form1.row.value);
				var cum=parseInt(document.form1.col.value);
				var wide=parseInt(document.form1.wide.value);
				var color=document.form1.color.value;
				
				function table(line,cum,wide,check){
     
					document.write("+ wide +">");for(i=1; i<=line; i++){
     if(check(i)){
     
							document.write("+ color +">");}else{
     
							document.write("");}for(var j=1; j<=cum; j++){
     
							document.write("");}
						document.write("")}
					document.write("
" + i + "-" + j + "
"
); } table(line,cum,wide,function(num){ if(num%2==0){ return true; }else{ return false; } }) } </script>

js函数返回值及回调函数_第3张图片
由用户输入表格的宽度,行数,列数,偶数行的颜色,会立即生成表格

你可能感兴趣的:(javaScript,javascript,函数返回值及回调函数)