JavaScript中的函数

时间:2022-01-18作者:klpeng分类:IT综合浏览:366评论:0

        js中的函数定义有两种方式。

        1.函数传入的参数可以没有类型标注,可以传入任意类型的数值。

        function 函数名(参数){

        }

       通过代码实现一下。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//函数定义
			function test(a,b){
				alert("传入了"+a+b);
			}
			//函数运行
			test("hello","js");
		</script>
		
	
		
	</body>
</html>

         效果图;

JavaScript中的函数

         2.

        函数名  = function(参数){

        }

        这种形式定义函数经常应用在定义事件句柄函数上。

        通过代码实现一下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		
		<script type="text/javascript">
			//函数定义
			test = function(a){
				alert("你传入了"+a);
			}
			//函数调用
			test("hello");
		</script>
	</body>
</html>

JavaScript中的函数

        

         值得一提的是,因为js弱类型,导致了传入函数的参数个数可以没有条件,从而导致函数没有函数重载一说。JS也会对你传入的数据个数进行调整,但传入的数值个数比函数定义的数值个数小的话,传入的数值会和函数定义的数值顺序一一对应,但没有对应的数值在函数的使用了的话,数值就会变成undefined。

        例如,以下代码。b数值没有被传入,就会被定义为undefined.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			//函数定义
			test = function(a,b){
				alert("传入了:"+a+","+b);
			}
			//函数调用
			test("hellojs");
		</script>
	</body>
</html>

        JavaScript中的函数

          此外,Js中的函数也可以用来当作类对象,用的时候像Java一样new 对象就行。

        例如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			
			
				
				Test = function(a){
					this.name = a; //成员变量
					this.getName = function(){ //成员函数
						return a;
					}
				}
				
				
				var t = new Test("Jack");
				
				//alert(t.name);
				document.write("name:"+t["name"]+"name:"+t.name+","+"name:"+t.getName());
		
			
		</script>
	
		
		
	</body>
</html>

        JavaScript中的函数

        js中有一个Funtion对象。实例化Function对象时,返回值可以当做传入参数!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script>
			var num = new Function("a","b","return a*b");
			console.log(num(20,20));  // 输出400
		</script>
	</body>
</html>

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢