阅读javascript高级程序设计随笔(四)
parseFloat函数
parseFloat函数和parseInt函数类似,一直解析到字符串末尾,或者解析到第二个小数点就无效了。
2.4.6 String类型
在javascript里,字符串可以用双引号或者单引号,它们是一对出现的。也就是说一开始是双引号,结束也是双引号;一开始是单引号,结束也是单引号。
字符串的特点:
字符串是不可变的,也就是说字符串一旦创建,它们的值不能改变。
字符串的length属性
我们可以通过字符串的length属性来获取字符串的长度。例如:
var str = "abc";
alert(str.length)//输出3
转换为字符串toString()函数
把一个值转换为字符串,我们通过调用toString()函数来转换。例子:
var num=23;
var str = num.toString();//字符串"23"
数值、布尔值、对象和字符串都有提供有toString()方法,但是null和undefined值并没有这个方法。
我们可以把一个数值转换为其他进制字符串输出。例如
var num = 10;
alert(num.toString()); //"10"
alert(num.toString(2)); //二进制方式输出"1010"
alert(num.toString(8));//八进制方式输出"12"
由于null和undefined没有提供toString()方法,在不到某个值是不是null或者undefined的情况下,我们会使用String(),这个函数可以将任何类型的值转换为字符串。
String()函数转换遵循下列规则:
1.如果值有toString()方法,则调用该方法。
2.如果值是null,则返回"null";
3.如果值是undefined,则返回"undefined".
2.4.7 Object类型
javascript中的对象其实就是一组数据和功能的组合。对象通过new操作符来创建。例如
var obj = new Object();
在ECMAScript中,Object类型是所有它的实例的基础。(类似java中的java.lang.Object对象)
Object的每个实例都具有下列属性和方法:
1.constructor:保存着用于创建当前对象的函数(构造函数)。
2.hasOwnProperty(propertyName): 用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中propertyName是属性名, 而且是一个字符串。
3.isPrototypeOf(object): 用于检查传入的对象是否是传入对象的原型。
4.propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。参数和hasOwnProperty()一样。
5.toLocaleString():返回对象的字符串表示。该字符串与执行环境的地区对应。
6.toString():返回对象的字符串表示。
7.valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。
在ECMAScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。
注意:ECMA-262不负责定义宿主对象,因此宿主对象可能会也可能不会继承Object。