学习目标:
提示:这里可以添加学习目标
例如:一周掌握 Java 入门知识
学习内容:
JavaScript 变量类型及作用域(1)
1、 Javascript的变量类型
–JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。
–基本类型和引用类型:基本类型值指的是简单的数据段,而引用类型值可能由多个值构成的对象。
–基本类型值:Undefined、Null、Boolean、Number和String。按值访问的,因为可以操作保存在变量中的实际的值。
–引用类型的值是保存在内存中的对象。JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。
2、 动态的属性
对于引用类型的值,我们可以为其添加属性和方法,也可以改变和删除其属性和方法。如果对象不被销毁或者这个属性不被删除,则这个属性将一直存在。但是,我们不能给基本类型的值添加属性。
3、 复制变量值
如果从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上。
当从一个变量向另一个变量复制引用类型的值时,同样也会将存储在变量对象中的值复制一份放到为新变量分配的空间中。不同的是,这个值的副本实际上是一个指针,而这个指针指向存储在堆中的一个对象。复制操作后,两个变量实际上将引用同一个对象。因此,改变其中一个变量,就会影响另一个变量。
4、 传递参数
ECMAScript中所有函数的参数都是按值传递的。也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。
5、 检测类型
typeof用于检测基本数据类型。instanceof操作符用于检测引用类型。语法为:result=variable instanceof constructor