3、预解析原理(三)

上一篇讲到局部变量可以修改全局变量,那么反过来是否可以由外而内的拿到函数内的数据呢?答案是可以的下面就介绍两种方法。

1、通过声明全局变量的方式:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title></title>
        <script>
            var str = '';
            function fn1 () {
                var a = '123';
                str = a;
            }
            fn1();
            alert(str);
        </script>
    </head>
</html>

执行结果

要由外而内的进行操作需要先声明一个全局变量,然后通过给全局变量赋值的形式进行。

2、局部变量的调用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title></title>
        <script>
            function fn1() {
                var a = '123';
                fn2(a);
            }
            fn1();
            function fn2(a) {
                alert(a);
            }
        </script>
    </head>
</html>

由外而内的进行操作也可以通过局部变量的调用进行。

原文地址:https://www.cnblogs.com/-hongchen/p/6673614.html