搜索
写经验 领红包

javascipt教程函数(javascipt中的函数如何理解)

导语:零基础入门JavaScript:详解函数的使用以及参数的介绍

函数对于任何编程语言来说都是核心部分。通过函数可以封装任意多条语句和表达式,而且可以在任何地方、任何时候调用函数方法来执行。

在JavaScript中的函数使用function关键字声明,然后就是函数的参数和函数体。

函数的语法如下:

function functionName(arg0,arg1,arg2,...){statements}

示例:

定义了一个hello方法, 这个函数通过其函数名来调用,函数输出结果是"Hello World"。函数中定义中的命名参数h和w被作用了字符串拼接的两个操作数,最终结果通过控制台打印显示出来。

JavaScript中的函数在定义时不必指定是否返回值。实际上,任何函数在任何时候都通过return语句后跟要返回的值来实现返回值。

带有返回函数的语法如下:

function functionName(arg0,arg1,arg2,...){statementsreturn result;}

示例:

凡是带有返回值的函数,在return之后写其它代码块是不会在执行的,因为已经把结果都返回出去了相当于这个函数已经结束了。

在严格模式对函数存在一些限制:

1、不能把函数名命名为eval或者arguments;

2、不能把参数命名为eval或arguments;

3、不能出现两个命名参数同名的情况。

如果发生以上的情况,会导致语法错误,代码执行不下去。

JavaScript函数的参数与大多数语言的函数参数有一点区别。JavaScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么类型。即使定义的函数带有接收两个参数,在调用这个函数时也不一定要传这两个参数。可以不传参数、可以传一个参数、可以传两个参数甚至跟多。但是对于JavaScript解析器来说是不会报错的,完全正常解析。

原因在于JavaScript内部接收参数始终都是以数组来接收,实际上我们可以通过arguments对象来访问这个参数数组,从来获取传递函数的每一个参数信息。

访问arguments对象数组可以使用方括号来访问它的每一个元素,使用length属性来确定传递进来多少个参数。在前面的hello函数可以通过arguments[0]来获取参数。

示例:

arguments获取参数也是有顺序的,第一个参数传进来的是什么就是什么。

还可以不定义参数传递的值

如果值传递了一个值,然后通过arguments[1]获取参数,其实结果是undefined。arguments[0]是正常的参数值,因为只传了一个值。

JavaScript中除了对象类型参数,其它参数都是值传递,不可能通过引用参数传递

而且JavaScript中的函数不存在重载,定义多个函数名相同并且参数个数不同的方法进行调用,永远都是拿最后定义的那个函数作为方法调用。

调用的是带两个参数的函数,因为我这里只传了一个值,第二个值默认是undefined。

所以说JavaScript不存在方法重载的这一方法。

本文内容由小碧整理编辑!