初学JavaScript之数据类型与变量

      和Java、C语言、c++等强类型语言不同的是JavaScript语言是弱类型语言,强类型语言的含义是指该语言的变量必须先经过定义,之后才能进行使用,而且强数据类型的变量都有固定的数据类型;相比较之下,弱类型语言的含义便很简单的得出:弱类型语言的变量使用之前无须进行先定义,可以直接使用,在解释器执行时会检查变量的数据类型;在使用JavaScript定义变量时需要注意三点:


第一点:定义变量的方式

JavaScript定义变量有两种方式:显示定义和隐式定义

显示定义变量及说明


运行结果



隐式定义
隐式定义运行结果

注意项:

1、JavaScript的变量区分大小写,如变量ABC和变量abc就是不同的变量

2、显示定义变量的时候可以在定义时就为变量赋初值,如显示变量的例子可改为:var a="hello world";

第二点:数据类型转换

JavaScript语言的数据类型转换有两种:自动类型转换和强制类型转换;

自动类型转换,如下示例:


自动转换及说明


自动转换结果

从上面的实例可以看出,自动类型转换有时很方便,但是在某些情况执行的功能就不尽如人意,比如要执行字符串和数值进行数值加法运算就实现不了,这时可采用强制类型转换,实例如下:


parseFloat()强制类型转换


执行结果

JavaScript提供了以下几个函数实现强制类型转换:

toString():将其它类型的变量转换为字符串变量,结果为object类型;

parseFloat():将字符串或布尔型转换为浮点数,如字符串为一系列数值时可转换为一个数值,其它字符或类型均转换为NaN.;

parseInt():将字符串或布尔型转换为整数,如字符串为一系列数值时可转换为一个数值,其它字符或类型均转换为NaN.

三:变量作用域

在JavaScript中变量作用域的情况和Java等相差不大,有以下几点需要注意:

1、JavaScript中没有块作用域,实例如下:


块内定义变量


执行结果

2、显示和隐式定义,变量创建情况不同,实例如下:

显示定义:

显示定义变量的作用域


执行结果

隐式定义:


隐式定义情况


执行结果

3、变量的作用范围在HTML的事件处理中同样有效,实例如下:


变量在事件的作用域
点击局部变量按钮的结果


点击全局变量按钮的结果

推荐阅读更多精彩内容