zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计(第三版)第四章 变量,作用域和内存问题

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值。基本类型值和引用类型值具有以下特点:

    • 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中;
    • 从一个变量向另一个变量复制基本类型值,会创建这个值的一个副本;
    • 引用类型的值是对象,保存在堆内存中;
    • 包含引用类型值得变量实际上包含的并不是对象本身,而是一个指向该对象的指针;
    • 从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象;
    • 确定一个值是哪种基本类型可以使用typeof操作符,而确定一个值是哪种引用类型可以使用instanceof操作符。

    4.1.3 传递参数

     1     <script type="text/javascript">
     2         function addTen(num) {
     3             num += 10;
     4             return num;
     5         }
     6         
     7         var count = 20
     8         var result = addTen(count);
     9         alert(count);    //20
    10         alert(result);   //10
    11 
    12     </script>
    1     <script type="text/javascript">
    2         function setName(obj) {
    3             obj.name = "Nicholas";
    4         }       
    5         var person = new Object();
    6         setName(person);
    7         alert(person.name);    //"Nicholas"
    8     </script>

     4.2.2 没有块级作用域

        <script type="text/javascript">      
            function add(num1, num2) {
                var sum = num1 + num2;
                return sum;
            }     
            var result = add(10, 20);  //30
            alert(sum);     // 由于sum不是有效的变量,因此会导致错误 
        </script>
    1     <script type="text/javascript">     
    2         function add(num1, num2) {
    3             sum = num1 + num2;
    4             return sum;
    5         }       
    6         var result = add(10, 20);  //30
    7         alert(sum);                //30     
    8     </script>
    1     <script type="text/javascript">
    2         var color = "blue";
    3         
    4         function getColor(){
    5             return color;
    6         }
    7         
    8         alert(getColor());  //"blue"   
    9     </script>
     1     <script type="text/javascript">
     2         var color = "blue";
     3         
     4         function getColor(){
     5             var color = "red";
     6             return color;
     7         }
     8         
     9         alert(getColor());  //"red" 
    10     </script>
  • 相关阅读:
    LeetCode70.爬楼梯
    LeetCode9.回文数
    LeetCode8.字符串转整数(atoi)
    LeetCode7.反转整数
    Docker深入浅出3-镜像管理
    Docker深入浅出3-容器管理
    Docker深入浅出2
    Docker深入浅出1
    Docker启动mysql的坑2
    各种常见兼容代码
  • 原文地址:https://www.cnblogs.com/fashion1993/p/4017791.html
Copyright © 2011-2022 走看看