JavaScript04-函数

JavaScript基础-Day4-函数

1.1函数的使用

  • 函数的声明语法
function 函数名() {
    函数体
}
  • 函数的调用语法
函数名()
  • 函数体

函数体是函数的构成部分,它负责将相同或相似代码“包裹”起来,直到函数调用时函数体内的代码才 会被执行。函数的功能代码都要写在函数体当中。

1.2函数传参

  • 声明语法
function 函数名(传参列表) {
    函数体
}
  • 有参数的函数声明和调用
函数名(传递的参数列表)
  • 形参和实参

形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)

实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)

求和案例:

<script>
        function getSum (arr) {
            let sum = 0;
            for (let i = 0; i < arr.length; i++){
                    sum += arr[i]
            }
            return sum
        }
        let s = getSum([100,200,300])
        document.write(s)
</script>

1.3函数的返回值

用return返回数

  • 当函数需要返回数据出去时,用return关键字
  • 语法
return 数据
function getSum(x,y) {
    return x + y
}
let num = getSum(10,30)
document.write(num)

细节:

  • 在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
  • 函数内部只能出现 1 次 return,并且 return 后面代码不会再被执行,所以 return 后面的数据不要换行写
  • return会立即结束当前函数
  • 函数可以没有 return,这种情况函数默认返回值为 undefined

求最大值案例:

<script>
        let num1 = +prompt(`请输入第一个数:`)
        let num2 = +prompt(`请输入第二个数:`)

        function getMaxNum (x, y) {
            if (x > y) {
                return x
            } else {
                return y
            }
        }

        let maxNumber = getMaxNum(num1, num2)
        document.write(`最大数是:${maxNumber}`)
</script>

1.4作用域

作用域概述:

  • 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这 个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

1.JS 中作用域分为三种

  • 全局作用域。函数外部或者整个script 有效
  • 局部作用域。也称为函数作用域,函数内部有效
  • 块级作用域。 { } 内有效

2.根据作用域不同,变量分为三种

全局变量 :函数外部let 的变量,全局变量在任何区域都 可以访问和修改

局部变量:函数内部let的变量,局部变量只能在当前函 数内部访问和修改

块级变量:{} 内部的let变量,let定义的变量,只能在 块作用域里访问,不能跨 块访问,也不能跨函数访 问

1.5匿名函数

具名函数:声明:function fn() {} 调用:fn()

匿名函数 :function() {}

let fn = function () {
    //函数体
}
fn() //函数名()

立即执行函

作用:避免全局变量之间的污染

// 方式一
(function () { console.log(11) })();
// 方式二
(function () { console.log(11) }() );

//不需要调用,立即执行

综合案例:转换时间

<script>
        let second = +prompt(`请输入总的秒数:`)
        
        function getTimes(t) {
            let h = parseInt(t/60/60%24)
            let m = parseInt(t/60%60)
            let s = parseInt(t%60)

            h = h < 10 ? '0' + h : h
            m = m < 10 ? '0' + m : m
            s = s < 10 ? '0' + s : s

            return `转换后的时间是:${h}小时${m}分钟${s}`
        }

        let str = getTimes(second)
        document.write(str)
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值