YanTianFeng的知识库

Want Coding

Want Reading

文章 89

访问 18326

评论 2

头像

YanTianFeng

发私信

文章 89
访问 18326
评论 2
JAVASCRIPT
返回顶部

Knowledge  JavaScript 函数基础

标签   函数  

  ( 537 )       ( 0 )


前言

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

最简单的函数

函数定义:

函数就是包裹在花括号中的代码块,使用关键词 function 定义,函数名 functionname 是可以自定义的(必须符合标识符的命名规则)。

function functionname()
{
    执行代码(函数体)
}

函数调用:

functionname();

当调用该函数时,会执行函数内的代码。

可以在某事件发生时调用函数(比如当用户点击按钮时),也可由 JavaScript 在任何位置自由调用。

实例代码:

//编写函数,计算 1+2+...+99+100 的总和
 
//函数定义
function total()                            
{                                           
    for(var i = 1,result = 0 ; i<=100 ; i++)
    {                                       
        result += i ;                       
    }
    console.log(result);                                
}                                           
                 
//函数调用,调用一旦发生就会去执行函数定义部分的代码
total();

带参数的函数

定义语法:

function myFunction(var1,var2)
{
    代码块(函数体)
}

调用:

myFunction(argument1,argument2);

函数定义部分的参数称为“形式参数”,简称形参;参数个数、参数名称、参数类型、参数顺序都是由定义函数的人来指定。

函数调用部分的参数称为“实际参数”,简称实参;参数的个数、类型、顺序要根据“形参”来定。

函数调用时会发生一个隐含动作“参数传递”,简称传参;“传参”的方向是从函数调用处到函数定义处; JavaScript 函数调用时没有对实际参数进行类型检测、个数检测。

函数调用时的传参,类似于变量赋值(形参变量 = 实参)。

实例代码:

//编写函数,计算 1+2+...+n-1+n 的总和( n是正整数 ) 

//函数定义
function total(n) 
{ 
    for(var i = 1,result = 0 ; i<=n ; i++)
    { 
        result += i ; 
    }          
    console.log(result);
} 

//函数调用
total(10) ;      //输出 55                      
total(100) ;     //输出 5050                    
total();         //可以成功调用,但结果可能不正确(传参少于规定个数)。 
total(10,20,30); //可以成功调用,多余的参数会被丢弃(传参多于规定个数)。

//JavaScript 函数调用是比较随意的(只要函数名一致即可),实际应用中为了得到正确合理的结果,必须按照函数定义时的参数个数、顺序、类型来传参。

带有返回值的函数

定义语法:

function myFunction() //此处忽略参数,为了将注意力转移到return
{
    代码块(函数体)
    return xxx ; //返回语句,用于从函数内部返回数据。
}

调用:

var myVar = myFunction(); //函数调用 "myFunction()" 所返回的值 ,保存在myVar 变量中。
console.log( myFunction() ); //函数调用 "myFunction()" 所返回的值,可以直接输出。

实例代码:

//编写函数,计算两个圆的面积之和。半径分别为:10,20  
                               
function area(r)               
{                              
    return Math.PI*r*r;        
}                              
                               
console.log(area(10)+area(20));

函数的 return 语句主要用于将函数内部运算的结果返回(返回到函数调用处),以便进一步参与其他运算。

函数返回的值最终作为函数调用表达式的值(函数调用语句本身就是个表达式)。

函数中,写在 return 语句下面代码会被忽略。

如果您仅仅希望退出函数 ,也可使用 return 语句(不能带有返回值):

//编写函数,计算圆的面积                                       
                                                    
function area(r)                                    
{                                                   
    if(r <= 0)                                      
    {                                               
        alert('半径必须是正数');                           
        return; //如果r<=0,return会立即结束函数执行,下面的代码没有机会执行
    }                                               
    return Math.PI*r*r;//只有在r>0的情况下会执行,返回圆的面积       
}         
                                          
console.log(area(-10)); //不会有输出                                                     
console.log(area(10));  //输出 314.1592653589793