JavaScript数据类型分为:原始类型(数字、字符串、布尔值和特殊值【null、undefined】)和对象类型(Object,键值对组成)。JavaScript中,同时使用了字符串和数字,数字将会转成字符串处理。不在任何函数内声明的变量称为全局变量。
1、数字
JavaScript不区分整数值和浮点值,所有数字均用64位浮点格式表示。在任何数字直接量前加“-”号,可以得到其负数,但“-”号不是数字直接量的组成部分,只是一元求反运算。
浮点数表示:[d][.d][(E|e)[(+|-)]d] 例:6.02e23 //表示6.02*10.23。
判断x是否为NaN,不能使用 x==NaN,而应使用x!=x,因为NaN不与任何值相等,包括本身。
日期:var date = new Date(),日期相减得到两者间的毫秒数。
2、字符串
字符串长度是其所含16位值的个数;字符串的第一个位置用0表示;字符串可有单引号或双引号括起来
用到的转义字符:\n 换行符(\u000A);\v 垂直制表符(\u000B);\f 换页符(\u000C);\r 回车符(\u000D);\" 双引号(\u0022);\' 单引号(\u0027);\\ 反斜杠(\u005c)等等
字符串操作:JavaScript的字符串是不变的,replace()等方法都是返回新的字符串。
模式匹配:
3、布尔值
其中undefined、null、0、-0、NaN、""都会转成false;其他值都会转成true;toString();&&、||、!
4、null、undefined
typeof(null) => Object,null为一个特殊的对象,表示“非对象”;typeof(undefined) ==> undefined,undefined为一种类型;相等运算 null == undefined,返回true,但严格相等null === undefined,返回false。或许可以说undefined表示系统级的空值,而null表示程序级的空值,在给变量赋空值时,最好使用null。
5、全局对象
NaN、isNaN()、parseInt()、Date()、Math···
6、包装对象
string——String();数值——Number();布尔值——Boolean()。它们的==返回true,===返回false。使用typeof可以查看。
7、原始值不可变,对象引用可变
对象的比较是引用的比较,当引用同一个基对象它们才相等。如果需要比较对象的值,则需对它们的每个属性或元素进行比较。
8、类型转换
parseInt、parseFloat、toString()等等
9、变量声明
var i; var i,j;···
重复声明是合法的,就像一个赋值语句一样;但遗漏声明在不严格的JavaScript中会声明一个全局变量,不推荐这样,应尽量使用var声明变量。
10、变量作用域
JavaScript没有块级作用域,所有函数体内的变量声明在函数体内都是可以使用的,建议函数体内的变量声明放在函数顶部,反映变量的真实作用域。
全局变量是全局对象的属性——ECMAScript规范中强制规定的。