zoukankan      html  css  js  c++  java
  • 1.作用域和值类型引用类型的传递

    1.作用域:
      1.全局作用域
        -直接写在script标签中的代码(不是在函数中 var 的变量)拥有
        -在页面中的任意部分都可以访问到
      2.函数作用域
        -在函数中 var 的变量拥有
        -在函数中,不使用 var 声明的变量都会成为全局变量
    <script type="text/javascript">
       //全局作用域
       var num1 = 55;
       var num2 = 66;//100
    
       function f1(a, b) {
          //局部作用域
          // var a=55;    这行和下一行都是看不见的。在没有调用函数之前,只var a 和 b ,就是声明了参数 a 和 b.
          // var b = 66;
          a = 100;//100
          b = 100;//100
          num2 = 100;//100   这里其实是改变了全局变量 num2
          console.log(a);//100
          console.log(b);//100
          console.log(num2);//100
       }
       //  55    66
       f1(num1, num2);
       console.log(num1);//55
       console.log(num2);//100
       console.log(a);// 报错
    </script>

     2.值类型引用类型的传递:

    <script type="text/javascript">
            
        //第2题  值类型和引用类型的传递
    
        function Person(name, age, salary) {
            this.name = name;
            this.age = age;
            this.salary = salary;
        }
    
        function f1(personName) {
            //var personName = p;
            personName.name = "ls";
            personName = new Person("aa", 18, 10);  //定义一个新person
            console.log(personName);   //Person {name: "aa", age: 18, salary: 10}
        }
    
        var p = new Person("zs", 18, 1000);
        console.log(p.name);           //zs
        f1(p);
        console.log(p.name);           //ls
        console.log(p);                //Person {name: "ls", age: 18, salary: 1000}
    
    </script>            
  • 相关阅读:
    设计模式之备忘录模式
    特殊传参方式
    页面响应效率测试
    composer安装的包git无法提交的解决办法是因为安装的时候生成了.git隐藏文件
    数据结构和算法深入浅出理解
    中缀表达式转换为后缀表达式
    p2p技术
    【自动化测试】WebDriver使用
    pt-query-digest简介使用
    mac编译openJDK8
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/9863179.html
Copyright © 2011-2022 走看看