JS局部变量传递给全局变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34343637/article/details/82563398

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>局部变量传递给全局变量</title>
</head>
<body>
    
    <script type="text/javascript">

      
        

        var mynum=0;

        function getNum(){
           var num1 =10;
           mynum = num1;

        }
        getNum();
        console.log("mynum:"+mynum);

        //通过传入对象的方式,使得变量的值能够进行传递
        //为什么可以通过对象的方式?将局部变量给全局变量。
        //当向getNum函数传入实参obj时,形参obj1 指向与实参obj同一块堆空间内存,当动态创建num2后。
        //由于外面的obj与getNum里面的obj1指向同一个地址,因此外面的obj可以通过obj.num2的方式得到 num2的值
        
        function getNum1(obj1){
           var num1 =10;
           obj1.num2 = num1;
        }

        var obj = new Object();
        getNum1(obj);
        console.log("obj.num2:"+obj.num2);


        //局部变量通过传入windows的对象,动态创建全局变量,然后通过局部变量赋值给全局变量。使得局部变量的值在全局变量中
        (function(window){ //形参
          console.log("make it easy");
          var num  = 10;
          window.num = num;
          console.log(num);

        })(document); //实参

         num =30;
        console.log(num);
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_34343637/article/details/82563398