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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。