函数

75 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情

函数使用分为 声明函数和调用函数

声明函数

function 函数名(){
    // 函数体
}

例如下面

function fn(){
console.log("hello,world")
}

1.function声明函数关键字全部是小写

2.函数是做某件事情,函数名一般为动词

3.函数不调用的时候自己是不会执行的

调用函数

函数名()

函数封装

就是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

小案例

用函数计算1-50的和

function fn(){
var sum=0;
for(var i=1;i<=50;i++){
sum +=i;
}
console.log(sum);
}
fn();

函数参数

1.函数是可以重复相同的代码的,可以重复调用多次

形参

我们可以用函数的参数实现函数重复不同的代码

function 函数名(形参1,形参2...){
   // 在声明函数的小括号里是  形参(形式上的函数)
}

实参

函数名(实参1,实参2...) // 在函数调用的小括号里的是实参(实际的参数)

形参是实参的执行过程

function book(hello){
console.log(hello);  // hello = "three body"
}
book("three body");

先执行函数调用,之后再反过去找函数的调用

之后会把three body传到hello这个形参里

那么形参就是接受实参的,类似于一个变量,当前并不知道是什么

函数的参数可以有,也可以没有,个数不限

利用函数求任意两个数之和

function fn(num1,num2){
console.log(num1+num2)
}
fn(56);
fn(58)

利用函数求任意两个数之间的数的和

function fn(num1,num2){
var sum = 0;
for(var i =num1;i<=num2;i++){
sum += i;
}
console.log(sum)
}
fn(5,20);

函数形参和实参的匹配问题

function fn(num1,num2){
console.log(num1+num2);
}
fn(25);

1.如果实参的个数和形参的个数一致,那么正常输出结果

如果实参个数多于形参

function fn(num1,num2){
console.log(num1+num2);
}
fn(257);

结果和上面情况一样,都是7 实参的个数多于形参的个数,会取到形参的个数

如果实参个数小于形参

function fn(num1,num2){
console.log(num1+num2);
}
fn(2);

因为形参可以看成是不用声明的变量

num2就是一个变量但是没有接受值,那么最终结果就是undefined

那么最终打印结果都是NaN