web开发程序员让前端飞

JavaScript函数

2018-01-03  本文已影响44人  我可能是个假开发

JavaScript函数

一、函数的作用

通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

二、函数的定义

函数使用function声明,后跟一组参数一级函数体,语法如下:
function functionName([arg0,arg1,…argn]){
statements
}

说明:
1、functionName是要定义的函数名,属于标识符
2、[]中的arg0,arg1,…argn为函数的参数,不是不需的
3、[]只说明里面的内容不是必须的,它不是语法

三、函数的调用

语法:
函数名([arg1,arg2,…argn])

//声明一个函数
function myFun(){
    alert("我是一个函数");
}
//调用函数
myFun();


//声明一个带有参数的函数
function add(num1,num2){
    var sum=num1+num2;
    alert(num+'和'+num2+'的和是'+sum);
}
add(3,5);

四、函数的返回值

任何函数在任何时候都可以通过return语句后跟要返回的值来实现返回值。

说明:
1、函数会在执行完return语句之后停止并立即退出。
2、return语句也可以不带有任何返回值,一般用于需要提前停止函数执行而又不需要返回值的情况下。

function add(num1,num2){
    var sum=num1+num2;
    return sum;
}

console.log(add(3,5));
alert(add(3,5));
var s=add(3,5);
console.log(s);
document.write(s);


function myFunction(arg){
    //如果arg是非数字,不做任何操作;否则返回arg的2倍
    if(isNaN(arg)){
        return;
    }
    return arg*2;
}
myFunction("abc");

五、JavaScript中的参数

arguments:
ECMAScript中的参数在内部用一个数组来表示,在函数体内通过arguments对象来访问这个数组参数。

说明:
1、arguments对象只是与数组类似,并不是Array的实例。
2、[] 语法访问它的每一个元素。
3、length属性确定传递参数的个数。

function inner(num1,num2){
    console.log(num2);
}
inner(10); //undefined


function inner1(){
    //arguments对象管理参数
    console.log(arguments.length);
    console.log(arguments[0]);//索引是从0开始的正整数  10
    console.log(arguments[2]);//undefined
}
inner1(10,5);//2


function add(num1,num2){
    console.log(num1);
}
add(55,88);//55 

/**
 * 严格模式:如果声明了严格模式,即使通过arguments的形式修改了参数,还是原来的值;
 * 在非严格模式下,arguments可以通过下标的形式修改传递进来的参数。
 */ 
function add1(num1,num2){
    arguments[0]=99;
    console.log(num1);//99
}
add(55,88);//99

求任意一组数的平均值:

function getAvg(){
    //console.log(arguments.length);
    var sum=0,len=arguments.length,i;
    for(i=0;i<length;i++){
        //console.log(arguments[i]);//拿到每个数:5,66,45,32,88
        //sum=sum+arguments[i];
        sum+=arguments[i];
    }
    return sum/len;
}
var avg = getAvg(5,66,45,32,88);
console.log(avg);
上一篇下一篇

猜你喜欢

热点阅读