1. 。。数据类型:JS使用弱类型,共4种基本类型,其数据可以是变量,也可以是常量。
a) 数值(整数和实数)
b) 字符串型(用“”号或‘’括起来的字符或数值)
c) 布尔型(使True或False表示),不能用1或0
d) 空值null
2. 常量:有数值、字符、布尔、空值和控制字符(以反斜杠(\)开头的不可显示的特殊字符)
3. 变量:
a) 命名规则:
i. 必须是一个有效的变量,即变量以字母开头,中间可以出现数字。除下划线(_)作为连字符外,变量名 称不能有空格、(+)、(-)、(,)或其它符号。
ii. 不能使用JavaScript中的关键字作为变量。在JavaScript中定义了40多个关键字,这些关键是JavaScript 内部使用的,不能作为变量的名称。
iii. JavaScript 区分大小写
b) 变量的定义:
i. 弱类型的形式,不必先声明类型,可用var定义声明;也可不作声明,而在使用时再根据数据的类型来确 其变量的类型。如:x=100 y="125"
ii. Var声明时,声明和赋值可写一行,也可分开,也可同时声明多个变量
c) 变量作用域:全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见的。全局变量可不用var关键字声明,但局部变量必须用var。
4. 弱类型方便一些。JScript 是一种宽松类型的语言。宽松类型意味着您不必显式定义变量的数据类型。事实上 JScript更进一步。您无法在JScriot上明确地定义数据类型。此外,在大多数情况下,JScript 将根据需要自动进行转换。例如,如果将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。
5. 当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined,或者对象属性不存在,也认为是undefined。JScript 中 null 和 undefined 的主要区别是 null 的操作象是数字 0,而 undefined 的操作象是特殊值 NaN (不是一个数字)。对 null 值和 undefined 值作比较总是相等的。
6. 可以不用 var 关键字声明变量,并赋值。这就是隐式声明。
7. 运算符:
a) 算术运算符:+,-,*,/,%,++,--,两整数相除结果为实数,数字默认为实数。
数值与布尔值相加,将布尔值强制转换为数值。
b) 关系(比较)运算符, 返回指示比较结果的布尔值:>,>=,<,<=,!=,==,===,!==注意:比较字符串时,JScript 使用字符串表达式的 Unicode 字符值。
c) 下面描述根据 表达式1和 表达式2 的类型和值,不同组的运算符是如何起作用的:
<1>关系运算符(<、>、<=、>=)
尝试将 表达式1和 表达式2 都转换为数字。
如果两个表达式均为字符串,则按字典序比较字符串。
如果任一表达式为 NaN,则返回 false。
负零等于正零。
负无穷小于包括其自身在内的任何数。
正无穷大于包括其自身在内的任何数。
——补充:NaN值,是数据类型转换失败时返回的一个值,
全称:Not a Number
<2>相等运算符(==、!=)
如果两表达式的类型不同,则尝试将它们转换为字符串、数字或布尔值。
NaN 与包括其自身在内的任何值都不相等。
负零等于正零。
null 与 null 和 undefined 都相等。
以下情况被认为是相等的:相同的字符串,数值上相等的数字,同一对象,相同的布尔值,或者当类型不同时可以被强制转换为上述情况之一的值。
其他比较都被认为是不等的。
<3>全等运算符(===、!==)
除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的。如:===认为字符串 "1" 与数值 1是不相同的。
d) 逻辑运算符:&&,||,!
8. parseFloat方法将字符串转换为float数据;parseInt方法将字符串转换为int数据同时舍弃小数,如果转换失败,返回NaN值(not a number)