javascript相关知识

定义:

1.使用var关键字定义

2.其他跟Java类似

变量类型

1.全局变量 在js中没有定义在方法内部的变量

(在非严格模式下)在js的方法中,不添加var的变量也是全局变量

“user strict”严格模式

2.局部变量 在js中定义在方法内部的变量

变量的命名规则

1.和java一样

数据类型 使用typeof加变量名可以查看变量的类型

1.undefined类型 定义的变量如果没有被赋值过,则变量类型为undefined

2.null类型 定义变量赋值为null 则变量类型就是null类型,null类型是一种

特殊的object类型

3.boolean 定义变量赋值为true false 则变量类型就为Boolean类型

4.string 定义变量赋值为“”或 ' ' 则变量类型为字符串类型在js中单引号双引号都

表示字符串

5.number 数值型 定义变量时赋值为一个数字或某些情况下转换而来的数字

都是数值型

1.整数型 2.浮点型 3.NaN 4.Infinity/-Infinity

6.object 对象类型

手动数据类型的转换

1.String();

2.Number();

如果是字符串,遵循以下规则

如果字符串中只包含数字,则将其转换为十进制(忽略前导0)

如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)

如果是空字符串,将其转换为0

如果字符串包含非以上格式,则将其转换为NaN,比如‘absd12sda12131asd’

3.Boolean(); 空字符串 0 nan undefined null 转化为布尔值都为false,其余皆为true55

两个数据类型通过 == 比较时(左右两边数据类型不相同)

1.当number string Boolean 三者在相互比较时 不为number那一方 调用number()方法

2.null 和 undefined 互相相等 且和自己也相等 除此之外 这两者和其他任何数据都不相等

3.NaN相比较 跟任何比较堵不相等 NaN和自身都不相等

4.当number string boolean 三者和对象比较时 对象先调用toString()方法转换为字符串

5.对象前加!则强制得到false数据

== 等于符 可能会发生数据类型的自动转换

=== 等同符 不会发生数据类型的自动转换