return语句及示例 预解析及其练习

本文深入探讨了JavaScript中的return语句,它用于结束函数执行并返回值。通过示例展示了return如何在函数中工作,并解释了预解析的概念,包括变量和函数声明的提升。还分析了预解析在处理同名函数和变量时的行为,以及在if语句块中的应用。最后,通过实例讲解了预解析如何影响函数内部的代码执行。
摘要由CSDN通过智能技术生成

return 语句

          作用1: 结束函数执行,返回到函数调用处

             => 在函数体中使用

          作用2: return 值

             => 将值返回给函数调用语句

function fn(){
            console.log('1111')
            console.log('2222')

            return//结束函数执行,返回到函数调用处

            console.log('3333')
        }

        function fn1(){
            console.log('1111')
            console.log('2222')
            return 100
        }


        console.log('程序开始')
        // fn()

        var m =  fn1()
        console.log( 'm :',m )

        console.log('程序结束')

示例一

 function getMaxTwo(m, n) {
            var max = m
            if (n > max) {
                max = n
            }
            return max
        }

        var m = getMaxTwo(34, 28)

        console.log('最大值 ', m)

预解析

javascript源代码   ->   浏览器加载执行  -> 输出结果

                           |

                          预解析

                        1. 声明式函数提到代码最上面

                        2. var 声明的变量提到代码最上面

fn()
        console.log('f1 ',f );
        function fn(){
            console.log('fn >>>')
        }

        var f = 100

        console.log('f2 ',f );


        // function fn(){
        //     console.log('fn >>>')
        // }
        // var f
        // fn()
        // f = 100

当遇到同名函数和变量时

          => 预解析优先处理函数

 fn()
        function fn(){
            console.log('fn >>>');
        }
        fn()
        var fn = 100
        fn()

        // function fn(){
        //     console.log('fn >>>');
        // }
        // var fn

        // fn() // 函数调用语句
        // fn()
        // fn = 100 // 变量赋值
        // fn()  // fn 不是一个函数

if语句块不管条件是否满足都会执行预解析

console.log('num 11', num);
        if (3 > 5) {
            var num = 100
        }
        console.log('num 22 ', num);

return语句后的代码也会预解析

function fn() {
            console.log(num) // num is not defined
            if (true) {
                return
            }
            var num = 100
            console.log(num)
        }

        fn()

预解析练习

console.log(num)
        var num = 10
        f()
        console.log(f2)

        function f() {
            console.log(n)
            var n = 20
            console.log(n)
        }
        console.log(num)
        var f2 = function () {
            console.log('我是f2')
        }

        // var num
        // var n
        // var f2

        // function f() {
        //     console.log(n) // undefined
        //     n = 20   
        //     console.log(n)  //20
        // }

        // //----------------------
        // console.log(num)  //undefined
        // num = 10  
        // f()
        // console.log(f2) //undefined
        // console.log(num) // 10
        // f2 = function () {
        //     console.log('我是f2')
        // }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值