省略
var
操作符,变量就会变为全局变量。JavaScript的数据类型有六种:
Undefined
、Null
、Boolean
、Number
、String
、Object
前五种是基本数据类型,Object
是复杂数据类型。typeof
检测给定变量的数据类型
用法:typeof msg
或者typeof(msg)
返回类型:
"undefined" —— 未定义
"boolean" —— 布尔值
"string" —— 字符串
"number" —— 数值
"object" —— 对象 或者 null
"function" —— 函数
tips:
a. 对 未初始化
/未声明
的变量使用 typeof
检测会返回 undefined
b. typeof null == "object" //为true
。
4 . null == undefined //true
5 . Boolean()
函数可以将一个值转化为对应的 Boolean
值
Boolean(false) == false
Boolean("") == false
Boolean(0) == false
Boolean(NaN) == false
Boolean(null) == false
Boolean(undefined) == false
6 . NaN
任何数值除以非数值都会 NaN
NaN == NaN //false,NaN 和自身不相等
isNaN()
方法在接受一个参数后,会先将其转化为数值,在判断是否为 NaN
,如:isNaN("10") //false,"10"可以被转化成10
7 . parseInt()
可以有第二个参数,表示解析的值是 n
进制的数
如:parseInt("16",16) //22,按16进制返回10进制的值
parseInt()
也能识别各种进制数,如:parseInt("0xA") //10
8 . 转义字符
\xnn
以16进制码 nn
表示的一个字符,如:\x41
表示 A
\unnnn
以16进制码 nnnn
表示的一个 Unicode
字符,如:\u03a3
表示 Σ
9 . number.toString(x)
表示将数字转化为 x
进制字符串
10 . 不给构造函数传参,则可以省略圆括号,如:
var o = new Object
11 . 有符号右移 >>
无符号右移 >>>
12 . 对于减法,JavaScript
会先将参数转为值再进行计算
5 - true //4,因为true被转为1
NaN - 1 //NaN
5 - "" //5
5 - "2" //3
"5" - "2" //3
"5" - null //5
13 . 对于关系操作符
"23" < "3" //true,字符串之间比较的是字符编码
"23" < 3 //false,"23"会被转化成23再比较
"a" < 3 //false,"a"被转化成了NaN
"55" == 55 //true
"55" === 55 //false
14 . JavaScript
没有重载(由于 arguments
的特性)