第三章
参数
ES中的参数在内部是用一个数组来表示的
数组包含哪些参数并不关心
函数体内可以通过arguments对象(所以并不是Array实例)来访问这个参数数组
function doAdd(num1, num2) { arguments[1] = 10; alert(arguments[0] + num2); } doAdd(10); // NaN doAdd(40, 50) // 50
50 ---- arguments的值与对应命名参数的值保持同步
NaN
arguments对象的长度由传入的参数(实参)个数决定,不是由形参个数决定的
没有传递值的命名参数将被赋予undefined值
- ES中所有参数传递的都是值,不可能通过引用传递参数
重载
重载:一个函数写两个定义,只要两个定义的签名(参数类型和数量)不同即可。
- ES中,没有重载。后定义的函数会覆盖前一个定义
变量、定义域和内存
基本类型和引用类型的值
基本类型的值是按值访问,引用类型的值按引用访问
引用类型的值是保存在内存中的对象。JS不允许直接操作对象的内存空间。
所以操作对象时,操作的是对象的引用。复制保存着对象的某个变量时,操作的是对象的引用;为对象添加属性时,操作的是实际的对象。。。。
动态的属性、静态的基本类型
- 可以给对象添加属性,但不能给基本类型添加属性
复制变量值
-
变量对象是一个与执行环境相关的特殊对象,存储着context中声明的以下内容:
变量(var,变量声明)
函数声明
函数形参
复制基本类型
var num1 = 5; var num2 = num1;
- 指针占几个字节要看地址总线的宽度,32位系统就是四个字节,所以无论是int型还是char型或者其他型,都是四个字节。
-
- 执行环境和作用域
JS高级程序设计笔记
猜你喜欢
转载自www.cnblogs.com/wydumn/p/11575470.html
今日推荐
周排行