JavaScript数据类型详解(3)

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进行更加深入的阐述。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22c62b3bbc9372e1b57585d93ecfed38.html