js函数的定义方式有哪些,语法是什么,JavaScript常用函数

  js函数的定义方式有哪些,语法是什么,JavaScript常用函数

  这篇文章给大家带来了一些关于javascript的知识,包括函数的定义和基本用法,包括函数语句的定义,函数的调用,未定义的参数等等。下面就来看看吧,希望对你有帮助。

  【相关推荐:javascript视频教程,web前端】

  

1.用函数语句定义

  先举个例子。这个函数的作用是返回数组元素的和;

  函数sumArray(arr) {

  var sum=0;

  for(var i=0,aLength=arr.length我有力量;i ) {

  sum=arr[I];

  }

  返回总和;}关键字function后面跟一个空格,sumArray是函数名,其命名约定与变量名相同:只能有字母、数字、下划线和美元符号,不能以数字开头,不能是关键字。

  括号是参数,也称为形式参数,您只需要参数名。参数可以是0、1或更多,用{0}分隔,中间是函数体。包含一个或多个语句。函数体用于实现函数的功能。

  关键字return后面是函数的返回值,或者函数可以没有返回值。函数运行语句return后,将在此处退出。下面的语句不再运行返回。也就是返回函数的输出。

  这样定义的函数,在函数定义的前面和后面都可以调用该函数,只要函数和调用函数的语句在一个源文件中就可以了。

  

2.用表达式定义

  用表达式的形式定义函数,就是用赋值表达式把函数赋值给一个变量,实际上就是把函数当作一个变量。此时,函数可能有名称,也可能没有名称。没有名字的函数叫做匿名函数

  有了名字;var funct=函数getMax(a,b) {

  还ab?甲:乙;};//注意这后面的分号,因为我们是在定义一个变量!与用函数语句定义不同,该函数只能在函数定义语句之后中调用,并且只能用变量名funct调用,而不能用函数名getMax,比如:

  var funct=函数getMax(a,b) {

  还ab?甲:乙;

  };

  console.log(funct(1,2));//输出2个匿名函数;

  所谓匿名函数就是直接跟在参数列表后面的关键字函数:var funct=function(a,b) {

  还ab?甲:乙;};这个函数没有名字,它赋给了变量funct,所以叫匿名函数。同样,也只能在这一语句之后调用该函数。

  var funct=function(a,b) {

  还ab?甲:乙;};console.log(funct(1,2));//输出2总结:用表达式定义函数是即拿即用的,定义了就只能在这一语句之后调用该函数

  

3.函数的调用

  在实训第4期,我们曾经介绍过,对象可以有自己的方法,当然这也是函数。该函数的调用与前两级定义的函数略有不同。

  //函数定义:求三个数的最大值

  函数最大值(a,b,c) {

  如果(a b) {

  如果(交流)

  返回a;

  其他

  返回c;

  }

  否则{

  如果(公元前)

  返回b;

  其他

  返回c;

  }

  }

  //调用这个函数

  var结果=max(1,2,3);//结果是3

  console.log(结果);//Output 3调用函数时,需要传入与形参相同数量的具体值。上面的函数有三个参数,所以在下面调用时,你传入三个特定的值,1给参数A,2给参数B,3给参数c,函数的返回值通过赋值符号=传递给变量result。如果函数体中没有return关键字,将返回undefined。

  调用对象中定义的函数:

  var ob={

  id:1,

  getMax:function(a,b) {

  还ab?甲:乙;

  } };var result=ob.getMax(2,1);//结果值为2 var result1=ob[getMax](2,1);//结果1的值也是2。和上面不同的是,在这里定位函数,需要使用对象名,函数名或者对象名[函数名],其他的都一样。

  

4.未定义的实参

  在大多数编程语言中,调用函数时会检查传入的参数个数和类型,而JavaScript既不检查参数类型,也不检查参数个数。JavaScript中的实际参与者匹配序列不检查中的上限参数,例如:

  函数myFunction(a,b,c) {

  console . log(a);

  console . log(b);

  console . log(c);} myFunction(1,2,3);实参1传入形参A,实参2传入形参B,实参3传入形参c,当实参个数小于形参个数时,右边的形参将传入值undefined。比如:

  函数myFunction(a,b,c) {

  console . log(a);

  console . log(b);

  console . log(c);} myFunction(1,2);参数1传入参数A,参数2传入参数B,undefined传入参数c,如果只想传入右边参数的数据,可以传入前几个参数的undefined。比如:

  function myFunction(a,b,c){ console . log(a);console . log(b);console . log(c);} myFunction(未定义,1,2);以上两种方法都不够严谨。最佳实践是设置一个参数从左到右,该参数可能会传入一个未定义的值。比如:

  函数getSum(a,b,c) {

  if(c===未定义)

  c=0;

  console . log(a b c);} myFunction(1,2);

5.实参对象

   JavaScript是一个对象,arguments也是一个带有特殊名称arguments的默认值。这个对象可以看作一个数组(类数组,不是真正的数组),参数是arguments[0],arguments[1].从左到右,以及参数。length表示参数的数量。

  //求参数之和函数getSum() {

  var aLength=arguments.length

  var sum=0;

  for(var I=0;我有力量;i ) {

  sum=参数[I];

  }

  返回总和;} console.log (getsum (1,2,3,4,5))//Output 15这里直接省略了形参,用arguments[i]表示。

  

6.对象作为参数

  复杂函数通常有十几个参数。虽然JavaScript不检查参数的个数和类型,但是调用时实际参数的顺序不能乱。开发人员需要检查每个实参和形参的对应关系,效率很低。一个很好的解决方法是用一个对象作为参数,函数会根据对象的对象来操作参数。

  函数myFunction(obj) {

  console . log(obj . name);

  对象编号;

  返回obj.number} myObj={name:myObj ,number:34 };my function(myObj);//输出myObj console . log(myObj . number);//输出35

7.函数对象作为另一个函数的参数

  。一个函数(为方便起见称为A函数)可以作为另一个函数(称为B函数)的属性名,B函数最终可以返回一个特定的值。

  原则上,函数B在自己的函数体中调用函数A,所以函数A的名字需要作为实参传递给函数B。如下所示:

  //找到最大值函数getMax(a,b) {

  还ab?甲:乙;}//求最小值函数getMin(a,b) {

  还ab?甲:乙;}//下面这个函数以一个函数作为参数,最后返回一个值func getM(func,num1,num2) {

  return func(num1,num 2);} getM(getMax,1,2);//返回2 getM(getMin,1,2);//Return 1我们把A函数的名字(getMax或者getMin)传递给B函数(getM()),然后在B函数内部调用传递的A函数,得到相关的结果。

  【相关推荐:javascript视频教程,web前端】以上是JavaScript函数的定义和基本用法的详细介绍。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: