欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS高级程序设计笔记

程序员文章站 2022-10-04 13:07:02
1. 第三章 1. 参数 1. ES中的参数在内部是用一个数组来表示的 1. 数组包含哪些参数并不关心 2. 函数体内可以通过arguments对象(所以并不是Array实例)来访问这个参数数组 3. 1. 50 arguments的值与对应命名参数的值保持同步 2. NaN 1. argument ......
  1. 第三章

    1. 参数

      1. es中的参数在内部是用一个数组来表示的

        1. 数组包含哪些参数并不关心

        2. 函数体内可以通过arguments对象(所以并不是array实例)来访问这个参数数组

        3. function doadd(num1, num2) {
              arguments[1] = 10;
              alert(arguments[0] + num2);
          }
          
          doadd(10);    // nan
          doadd(40, 50)    // 50
          1. 50 ---- arguments的值与对应命名参数的值保持同步

          2. nan

            1. arguments对象的长度由传入的参数(实参)个数决定,不是由形参个数决定的

            2. 没有传递值的命名参数将被赋予undefined值

          3. es中所有参数传递的都是值,不可能通过引用传递参数
      2. 重载

        1. 重载:一个函数写两个定义,只要两个定义的签名(参数类型和数量)不同即可。

        2. es中,没有重载。后定义的函数会覆盖前一个定义
  2. 变量、定义域和内存

    1. 基本类型和引用类型的值

      1. 基本类型的值是按值访问,引用类型的值按引用访问

        1. 引用类型的值是保存在内存中的对象。js不允许直接操作对象的内存空间。

        2. 所以操作对象时,操作的是对象的引用。复制保存着对象的某个变量时,操作的是对象的引用;为对象添加属性时,操作的是实际的对象。。。。
          * {{23.png(uploading...)}}

      2. 动态的属性、静态的基本类型

        1. 可以给对象添加属性,但不能给基本类型添加属性
      3. 复制变量值

          1. 变量对象是一个与执行环境相关的特殊对象,存储着context中声明的以下内容:

            • 变量(var,变量声明)

            • 函数声明

            • 函数形参

        1. 复制基本类型

          1. var num1 = 5;
            var num2 = num1;
          2. 21.png

          3. 指针占几个字节要看地址总线的宽度,32位系统就是四个字节,所以无论是int型还是char型或者其他型,都是四个字节。
      4. 复制对象

    2. 执行环境和作用域