个性化阅读
专注于IT技术分析

JavaScript基础快速入门教程(五):函数的定义和调用、带参函数和匿名函数

一、函数的定义和调用

JavaScript中的函数用于封装一些语句完成特定的功能,函数也是JavaScript的函数核心内容,因为JavaScript偏向函数式编程,在实际开发中会被大量使用。函数的实质是对功能的封装,主要是细分功能,例如,处理用户登录我们可以设计一个login()函数,如果在login()函数中还有其它功能需求,例如密码加密我们又可以设计一个encrypt()函数,注意函数不能定义在循环体内,或者其它分支语句中。

函数的定义和调用语法如下:

/**
 * 函数的定义:
 * function 函数名(参数1, 参数2, ...){
 *      函数体语句;
 * }
 * 调用函数:
 * 函数名();
 */

函数名是自定义的标识符,命名规则和其它变量一样,以下划线、字母或$符开头,下面是函数定义和调用的实例。

// 定义函数
 function login(){
     console.log("verify email...");
     console.log("verify password...");
     console.log("login...");
 }
// 调用函数
login();

二、带参函数和返回值

JavaScript的函数和数学中的函数意义一样,同样是为了尽量设计得符合所有业务情况的处理,尽量设计得足够抽象,这时候就需要使用参数,参数和数学中的字母代数一样抽象表示,如y=2x-9,x就是参数,x的取值范围是整个实数轴,同样,函数的参数也是有取值范围限制的,比如限定为数值类型或字符串类型,函数参数的名字我们可以自定义,命名规则同样和一般变量一样。

带参函数的参数称为形式参数,即是抽象的,在调用带参函数的时候需要给这个函数传入实际的参数,即实参。

另外当我们需要从函数获得一个结果值的时候,可以使用return语句返回相应的值,return语法为: return 值,若函数没有返回值,默认返回undefined。

下面设计一个函数计算任意以整数start开始,整数end结束的所有整数和:

/**
 * 
 * @param {开始的整数} start 
 * @param {结束的整数} end 
 */
function sum(start, end){
    // 若开始的整数大于结束整数,则返回undefined
    if(start > end)
        return;
    var count = start;
    for (var i = 1; i <= (end - start); i++) {
        count = count + (start + i);
    }
    // 使用return返回语句
    return count;
}

var value = sum(3, 8); // value为sum函数的返回值
console.log(value); // => 33

三、匿名函数

匿名函数顾名思义就是没有名字的函数,匿名函数采用一个变量来接收,可以当做一个变量使用,这也就可以当做其它函数的参数了,这个变量是一个function函数类型的变量。

匿名函数的一个简单实例如下:

// 匿名函数定义
var fn = function (){
    console.log("anonymous function");
}
// 匿名函数调用
fn();
// 查看匿名函数变量的类型
console.log(typeof(fn)); // 输出:function

下面的实例是使用匿名函数作为函数的参数使用的例子:

// 使用匿名函数作为函数参数
// 定义一个匿名函数,并赋值给callback这个函数类型的变量
var callback = function (message, code){
    console.log("reveived message: " + message + " " + code);
}

// 定义一个带参函数,参数的类型为函数类型
function request(callback){
    console.log("request message");
    callback("JSON", 200);
}

//调用request函数,传callback作为实参给request函数
request(callback);
赞(0) 打赏
未经允许不得转载:srcmini » JavaScript基础快速入门教程(五):函数的定义和调用、带参函数和匿名函数
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏