![HTML5 APP开发从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/420/31794420/b_31794420.jpg)
上QQ阅读APP看书,第一时间看更新
3.3 变量和类型
JavaScript是一种弱类型语言,在定义变量时不需要指定类型,一个变量可以存储任何类型的值。在运算时,JavaScript能自动转换数据类型。但是在特定条件下,开发人员还需要了解JavaScript的数据类型,以及掌握数据类型转换的基本方法。
3.3.1 变量
JavaScript使用var关键字声明变量。声明变量的五种形式如下:
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P62_9070.jpg?sign=1738916978-QBYWcEut9EX3k5pGvv7OvvBcpvKhwzGh-0-3a13a3d7275f70a24af176e288b5cfe5)
声明变量之后,如果没有初始化,变量初始值为unde fined(未定义的值)。
JavaScript变量可以分为全局变量和局部变量。全局变量在整个页面中可见,并允许在页面任何位置访问。局部变量只能在指定函数内可见,函数外面是不可见的,也不允许访问。
函数内部使用var关键字声明的变量就是局部变量,该变量的作用域仅限于当前函数体。不使用var关键字定义的变量都是全局变量,不管是在函数内还是在函数外,全局变量在整个页面脚本中都是可见的。
【示例】本示例出使用var关键字在函数内外分别声明,并初始化变量a,a在不同作用域内显示为不同的值。相反如果不使用var关键字声明变量b时,会发现域外和域内的变量b显示相同的值,因为b="b(域内)=域内变量<br/>";将覆盖var b="b(域外)=全局变量<br/>";的值,在浏览器中预览的效果如图3.3所示。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P62_40856.jpg?sign=1738916978-26BhiYl51shDiwZlDXGKH6J9h9ooJDbo-0-e137b660ab332d61e81603abe410fba7)
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P62_9072.jpg?sign=1738916978-YgGnadGiHPdIIyby9LiGx2Vo553pTe6b-0-dbdac8afe0863547049c1dbf8283a8d2)
图3.3 变量作用域
3.3.2 数据类型
JavaScript定义了6种基本数据类型,如表3.1所示。
表3.1 JavaScript的6种基本数据类型
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-T62_40857.jpg?sign=1738916978-1so2PS2oobAIaD3JOV0T6XMVJgJvToKe-0-80d086473aa7f87dc56401fd72f337af)
【示例】使用typeof运算符可以检测数据的基本类型。下面的代码使用typeof运算符分别检测常用直接量的值的类型。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P63_40862.jpg?sign=1738916978-zuoJBjb8l7Brz66R35aEILf7nrDYpphd-0-394eb556b7fd4b3a4a13914e7deff4ab)