JS函数(function)

JS函数(function)介绍

        

函数就是将实现特定功能的代码封装起来,当我们需要实现特定功能时,直接调用函数实现即可,不需要每次都写一堆代码,实现代码的复用。

函数的作用:
1、实现功能的封装,提高代码复用率
2、用于构建对象的模板(构造函数)

 函数实际上是对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法,由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。

JS 定义函数

        JS 函数声明需要以 function 关键字开头,之后为要创建的函数名称,function 关键字与函数名称之间使用空格分开,函数名之后为一个括号( ),括号中用来定义函数中要使用的参数(多个参数之间使用逗号,分隔开),一个函数最多可以有 255 个参数,最后为一个花括号{ },花括号中用来定义函数的函数体(即实现函数的代码),如下所示:

        JS 函数声明需要以 function 关键字开头,之后为要创建的函数名称,function 关键字与函数名称之间使用空格分开,函数名之后为一个括号( ),括号中用来定义函数中要使用的参数(多个参数之间使用逗号,分隔开),一个函数最多可以有 255 个参数,最后为一个花括号{ },花括号中用来定义函数的函数体(即实现函数的代码),如下所示:

function functionName(parameter_list) {
    // 函数中的代码
}

示例代码如下:

function sayHello(name){
    document.write("Hello " + name);
}

一旦定义好了一个函数,我们就可以在当前文档的任意位置来调用它。调用函数非常简单,只需要函数名后面加上一个括号即可,例如 alert()、write()。注意,如果在定义函数时函数名后面的括号中指定了参数,那么在调用函数时也需要在括号中提供对应的参数。
示例代码如下:

function sayHello(name){
    document.write("Hello " + name);
}
 // 调用 sayHello() 函数
sayHello('JavaScript函数');

提示:JavaScript 对于大小写敏感,所以在定义函数时 function 关键字一定要使用小写,而且调用函数时必须使用与声明时相同的大小写来调用函数。

参数的默认值

在定义函数时,您可以为函数的参数设置一个默认值,这样当我们在调用这个函数时,如果没有提供参数,就会使用这个默认值作为参数值,如下例所示:

function sayHello(name = "World"){
    document.write("Hello " + name);
}

sayHello();     // 输出:Hello World
sayHello('Hello');     // 输出:Hello

JS 函数返回值

在函数中可以使用 return 语句将一个值(函数的运行结果)返回给调用函数的程序,这个值可以是任何类型,例如数组、对象、字符串等。对于有返回值的函数,我们可以会使用一个变量来接收这个函数的返回值,示例代码如下:

function getSum(num1, num2){
    return num1 + num2;
}

var sum1 = getSum(7, 12); // 函数返回值为:19
var sum2 = getSum(-5, 33); // 函数返回值为:28

提示:return 语句通常在函数的末尾定义,当函数运行到 return 语句时会立即停止运行,并返回到调用函数的地方继续执行。

另外,一个函数只能有一个返回值,若要返回多个值则,则可以将值放入一个数组中,然后返回这个数组即可,如下例所示:

function division(dividend, divisor){
    var quotient = dividend / divisor;
    var arr = [dividend, divisor, quotient]
return arr;
}

var res = division(100, 4)
document.write(res[0]);     // 输出:100
document.write(res[1]);     // 输出:4
document.write(res[2]);     // 输出:25

JS 函数表达式

函数表达式与声明变量非常相似,是另外一种声明函数的形式,语法格式如下:

var myfunction = function name(parameter_list){
    // 函数中的代码
};

参数说明如下:

  • myfunction:变量名,可以通过它来调用等号之后的函数;
  • name:函数名,可以省略(一般情况下我们也会将其省略),如果省略那么该函数就会成为一个匿名函数;
  • parameter_list:为参数列表,一个函数最多可以有 255 个参数。

示例代码如下:

// 函数声明
function getSum(num1, num2) {
    var total = num1 + num2;
    return total;
}

// 函数表达式
var getSum = function(num1, num2) {
    var total = num1 + num2;
    return total;
};

上面示例中的两个函数是等价的,它们的功能、返回值、调用方法都是相同的。

注意:在函数声明中,不需要在右花括号后放置分号,但若使用函数表达式就应该在表达式的最后以分号结尾。

函数声明和函数表达式虽然看起来非常相似,但它们的运行方式是不同的,如下例所示:

declaration(); // 输出: function declaration
function declaration() {
    document.write("function declaration");
}

expression(); // 报错:Uncaught TypeError: undefined is not a function
var expression = function() {
    document.write("function expression");
};

如上例所示,如果函数表达式在定义之前被调用,会抛出异常(报错),但函数声明则可以成功运行。这是因为在程序执行前,JavaScript 会先对函数声明进行解析,因此无论是在函数声明前还是声明后调用函数都是可行的。而函数表达式则是将一个匿名函数赋值给一个变量,所以在程序还没有执行到该表达式之前,相当于函数还未定义,因此无法调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值