alert(Number("hello world")); // NaN alert(Number("0011")); //11 alert(Number("0x10")); //16 alert(Number("")); //0
parseInt()函数是我们最常用的,它的转换规则:
(1)忽略字符串前面的空格;
(2)如果第一个字符不是数字字符或者正负号,返回NaN,空字符串同样返回NaN;
(3) 小数点在这个函数中被认为是非数值字符;
alert(parseInt(" ")); //NaN alert(parseInt(" 123")); //123 alert(parseInt("123asjdllxcias")); //123 alert(parseInt("asd")); //NaN
同时,parseInt()还可以接受第二个参数作为第一个参数的基数,即告诉函数第一个参数该使用什么进制去解析。
alert(parseInt("12",8)); //10 alert(parseInt("12",16)); //18 alert(parseInt("1001",2)); // 9
parseFloat()函数与parseInt()类似,区别在于parseFloat()函数会一直忽略前导0,并且不支持第二个参数,最后,如果小数点后全是0,则会返回整数。
alert(parseFloat("0012.2")); //12.2 alert(parseFloat("0012.000000")); //12 alert(parseFloat("0012.2.33")); //12.2 第二个小数点字符无效
6、String类型String 对象用于处理文本(字符串)。
创建 String 对象的语法:
new String(s); String(s);参数 s 是要存储在 String 对象中或转换成原始字符串的值。
当 String() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串 s 或 s 的字符串表示。
当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串,并返回转换后的值。
字符串是 JavaScript 的一种基本的数据类型。
String 对象的 length 属性声明了该字符串中的字符数。
String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组。例如,从字符串 s 中提取第三个字符,可以用 s[2] 代替更加标准的 s.charAt(2)。此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 length 属性)。因为字符串的数组行为不标准,所以应该避免使用它。
7、Object类型Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数。
创建对象:
var o1 = new Object(); var o2 = new Object; //有效,但不推荐省略括号
Object的每个实例都具有的属性和方法:
constructor:保存着用于创建当前对象的函数。对于前面的例子来说,构造函数就是Object();
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型链中)是否存在,其中作为参数的属性名必须以字符串的形式指定。
isPrototypeOf(Object):用于检查传入的对象是否是当前对象的原型。
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法返回的值相同。
作为ECMAScript中所有对象的基础,Object类型还有很多东西要说,今天就先说到这里,后面我将对Object进行更加深入的阐述。