JavaScript函数类型详解:可变参数、匿名与动态函数
作者:异步漫步时间:2026-10-29 17:13:26浏览:311
本文详细介绍JavaScript中三种常用函数类型。首先解析可变参数函数,说明如何通过arguments数组处理任意数量实参及参数覆盖机制;其次讲解匿名函数的定义与调用方式;最后介绍利用内置Function对象创建动态函数的方法,包括形参与函数体的传参规则。
JavaScript函数类型概述
网页中的java代码需要写在JavaScript中,里面部分少不了函数,介绍一下JavaScript中常用的函数类型。 1、可变函数
<script>
function show(){
alert("第一个。。。");
}
function show(str){
alert("第二个");
}
function show(a,b){
alert("第三个。。。");
alert(a+":"+b);
}
</script>
</head>
<!-- 可变参数的函数: 在js中都是可变参数的函数
<!-- 1 函数虽然定义时是声明成两个参数,但调用时却是可以传入任意个 -->
<!-- 2 每个函数中,存在一个 默认的数组arguments ,里面存储着本次调用时传入的所有实参 -->
<body>
<!-- 1, 可变参数的演示: -->
<script>
show();//当调用之后,会把前面的冲掉 //undefined:undefined
show(111);//当调用之后,会把前面的冲掉 // 11:undefined
show("a","b");//当调用之后,会把前面的冲掉//a:b
show(1,2,3,4);//1:2
</script>
可变参数函数与arguments对象
通过上述示例可以看出,JavaScript中的函数不支持传统意义上的重载机制。无论函数定义时声明了多少个形参,调用时都可以传入任意数量的实参。每个函数内部都内置了一个名为的数组对象,该对象自动存储当前调用时传入的所有实际参数。
匿名函数的定义
接下来介绍第二种类型:匿名函数。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- 演示JavaScript匿名函数 -->
<script type="text/javascript">
var res =function(a,b){//注意是小写func
return a+b;
};</span>
alert("sum="+res(1,2));//sum=3
alert("res="+res("abc","def"));//res=abcdef
</script>
</body>
</html>
动态函数的构造方法
第三种类型为动态函数。其核心原理是利用JavaScript内置的对象来构造函数。在构造函数的过程中,第一个参数用于指定形参列表,而第二个参数则用于定义具体的函数体代码。
<span style="font-size:18px;"><!DOCTYPE html>
<html>
<head>
<title>DTfunc.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<!-- 利用Js当中内置的对象Function来构造一个函数,构造方法中的第1个参数是“形参”,第2个参数是“函数体”。 -->
<!-- 该思想类似于Java当中的类反射。我们平时写函数时通常不用,但关键的地方一写,整个程序的功能会变得很活 -->
<script>
var res=new Function("x,y","var sum=0;sum=x+y;return sum;")
var sum=res(12,34);//46
var sum=res("abc","bss");//abcbss
alert("sum="+sum);
</script>
</body>
</html></span>
总结
以上对JavaScript中三种常用函数类型的简要介绍,旨在帮助读者建立基础认知。若需进一步深入掌握相关技术细节,建议参考后续提供的补充阅读材料。
作者最新文章
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
JS对象数组转字符串为什么推荐用JSON.stringify()
2026-11-05 09:40:31
相关标签:
