一、javaScript数据类型
5种基本数据类型
1. undefined
2. null
3. boolean
4. Number
5. String
以及一种复杂数据类型 object
- undefined 类型只有一个值,即undefined。表示声明但未初始化的变量值
- null 类型是第二个只有一个值的类型,即null。表示空对象指针。
使用typeof 操作符的时候会返回 object 。
null == undefined // true 尽管如此,在需要用到的时候,最好还是显示声明变量 = null;
null === undefined //false - boolean 在js中,该类型只有两个值,即 true 、false;
- Number
a: 首位为0,表示八进制数。首位为0x 表示为十六进制数。永远不要对某个特定的浮点值进行测定。如 0.1+0.2 == 0.3 // false
b: 正无穷: Infinity,负无穷: -Infinity ;
isFinite( ) 函数可用来测定数字是否在数值范围内
c: NaN 表示 not a number .任何NaN 有关的操作都会返回NaN,NaN与任何值都不想等,包括自身。例:5 / 0 // NaN;除数为0,返回NaN
d: 数值转换。
将非数值转化为数值:
Number() 函数将会把null转化为0,undefined转化为NaN,空字符串转化为 0 ,其他字符串(如果该字符串不是完全由数字字符组成)转化为 NaN;
parseInt( ) 函数则将会把空字符串转化为 NaN。该函数在进行转化时会对字符串进行逐字识别,直到遇到不能识别的非数字字符。
该函数可以指定第二个参数:表示转化时使用的基数,即多少进制。如 parseInt("10", 2) // 2(按二进制解析)
parseFloat() 与parseInt() 函数类似,会识别字符串直到遇到无效浮点数字符。 如 parseFloat(23.3.3) // 23.3 (第二个小数点将会被认为无效)
不提供第二个参数,且该函数时钟都会忽略0, 如 parseFloat(020) // 0(将不会将020当作八进制数进行解析) - String
非字符串转化为字符串:
toString() 数值、对象、布尔值和字符串都有该方法,但null、undefined 没有该方法。
可以传递参数,表示转化使用的基数,即进制。如 num = 10;num.toString(8) // 12;(num的数值被以八进制形式表示出来)
String( ) 在不知道要转化的值是否为 null 或 undefined 的时候,可以使用该转型函数。该函数能够将任何类型的值转化为字符串。
如果值由toString( )方法,则调用该方法。如果值为null或undefined,则直接返回其字面量 null 或 undefined; - Object
创建对象: var o = new Object();
a、Constructor 构造函数,保存着用于创建当前对象的函数
b、hasOwnProperty(propertyName) 用于检查传入的属性名是否存在于当前对象实例
c、isPrototypeOf( object ) 用于检查传入的对象是否是另一个对象的原型
d、propertyEnumerable(propertyName) 用于检查给定的属性是否可用 for-in 语句进行枚举
e、toLocalString() 返回字符串的对象表示,该字符串与执行环境的地区相对应
f、toString() 返回对象的字符串表示
g、valueOf() 返回对象的布尔值、数值或字符串表示,通常与toString()返回值相等。