JavaScript定义函数的3种方式

JavaScript函数是一种基于对象的脚本语言,JavaScript代码复用的单位是函数。JavaScript中的函数可以独立存在,而且JavaScript中的函数完全可以作为一个类来使用(而且它还是该类的唯一的构造器)。函数也可以是一个对象,函数本身就是Function实例。以下是定义函数的3中方式:

定义命名函数

        <script type="text/javascript">
			hello('baidu');
			function hello(name){
				alert(name + ", 你好!");
			}
			
		</script>

结果如下:

                                

函数的最大的作用是提供代码重用,将需要重复使用的代码块定义成函数,提供更好的代码重用。

注意:

在同一个<script.../>元素中,JavaScript允许先调用函数,然后再定义该函数,但是在不同的<script.../>元素中时,必须先定义函数,然后再调用该函数,否则程序会报错!

函数可以有返回值,也可以没有返回值。函数的返回值可以使用return语句返回,在函数的运行过程中,一旦遇到第一个return语句,函数就返回s's返回值,函数运行结束。

        <script type="text/javascript">
			function hello( name ){
				
				if( typeof name == 'string'){
					return name + " , 你好 !";
					
				}
				return '名字只能是字符串';
			}
			
			alert(hello('baidu'));
		</script>

结果:

                                   

定义匿名函数

定义匿名函数的方式:

                function (  参数列表){ 执行语句...};

这种函数定于语法无需指定函数名,而是将参数列表紧跟着function关键字,在函数定义语法的最后不要忘记紧跟分号(;)。

当通过这种语法定义了函数之后,实际上就是定义了一个函数对象(即function实例),接下来可以将这个对象赋给另外一个变量。 

    <script type="text/javascript">
			var f = function( name ){
				
				document.writeln('匿名函数<br>');
				document.writeln('你好' + name);
			};
			f('百度');
     </script>

结果:

                                                      

对于使用匿名函数的语法,可读性非常好,程序使用function关键字定义一个函数对象,然后把这个对象赋值给f变量,以后程序即可通过f来调用这个函数。只用匿名函数的另一个好处是更加的方便,当需要为类,对象定义方法时,使用匿名函数的语法能提供更好的可读性。

使用Function类匿名函数

JavaScript提供了一个Function类,该类可以用于定义函数,Function类的构造器的参数个数可以不受限制,Function可以接受一系列的字符串函数,其中最后一个字符串参数是函数的执行体,执行体的各语句以分号隔开,而前面的字符串参数是函数的参数。

       <script type="text/javascript">
			
			var f = new Function('name',"document.writeln('Function 定义的函数<br>');"+
			"document.writeln( '你好' + name );");
			f('百度');
			
		</script>

结果:

上面的代码使用new Function()语法来定义一个匿名函数,并将该匿名函数赋给f变量,从而允许f来访问匿名函数。调用Function类的构造器来创建函数虽然能明确的表示创建一个Function对象,但由于Function()构造器的最后一个字符串代表函数的执行体,当函数的执行体很多的时候,Function 的最后一个参数将会变得很“拥挤”,所以使用这种方式定义执行语句比较多的函数的可读性会非常低。

 

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值