js中的函数

什么是函数

函数就是被设计为执行特定任务的代码块

即(公共的内容)抽取封装的过程 ,实现了代码的复用

函数使用过程

先使用function 函数名(){}声明函数,再用函数名()调用该函数,当函数不调用时函数不会执行

函数传参

 好处:可以极大提高函数的灵活性

函数声明时,小括号里边是形参,形式上参数

函数调用时,小括号里边是实参,实际上的参数

尽量保持形参和实参个数一致(参数中间用逗号隔开)

  //函数名(参数列表)
 // 求累加和
        function getSum(end) {//end=50; end=100
            let sum = 0
            for (let i = 1; i <= end; i++) {
                sum += i
            }
            console.log(sum);
        }
        getSum(50)
        getSum(100)

函数返回值

函数执行后得到的结果,结果是调用者想要拿到的,函数内部不需要输出结果,而是返回结果

  // 求最大值
        function getMax(a, b) {
            return a > b ? a : b
        }
        let max = getMax(3, 4)
        console.log(max);
       ----------------------------------------------
 function getArrMax(arr = []) {
            let max = arr[0]
             let min = arr[0]
             for (let i = 0; i < arr.length; i++) {
                 if (max < arr[i]) {
                     max = arr[i]

                }
                 if (min > arr[i]) {
                     min = arr[i]

                 }
             }
             return [max,min]
         }
 let newArr = getArrMax([1, 23, 45, 36, 67, 68])
         console.log(`数组最大值为:${newArr[0]}`);
         console.log(`数组最小值为:${newArr[1]}`);

 作用域

在函数内部声明的是局部变量

在函数外部声明的是全局变量

注意:如果在一个函数内变量没有声明直接给值,也当全局变量来看(强烈不建议使用)

形参是局部变量

let num=34
function fn(){
num=10   //当全局变量看,强烈不建议这样使用

}
fn()
console.log(num)
--------------------------------------------
function fn(a,b){
console.log(b)
}
fn(5,6)
console.log(b)//错误写法,因为形参是局部变量

一. 匿名函数

没有函数名的函数

function(){}

匿名函数不能直接使用,一般通过函数表达式,立即执行函数方法使用

1.函数表达式

将匿名函数赋值一个变量,通过变量方式进行调用

//匿名函数
let fn=function(a,b){
console.log(a+b)
}
fn(4,5)
//具名函数
function sum(a,b){
console.log(a+b)
}
sum(4,5)//具名函数调用可以写到任何位置

注意:具名函数调用可以写到任何位置,但是匿名函数只能先声明,后调用

因为let具有变量提升

2.立即执行函数(匿名函数) 

避免全局变量之间相互污染

//立即执行函数的两种写法,多个立即执行函数之间用;分隔开
 (function(a,b){console.log(a+b)})(1,2);
        (function(a,b){console.log(a+b)}(1,2));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值