首页 > js学习 > js基础知识 > javascript中的数据类型和String类型与Object类型
2016
12-16

javascript中的数据类型和String类型与Object类型

ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有2种复杂数据类型——Array(数组)、Object(对象)。

ECMAScript不支持任何创建自定义类型的机制,所有值都成为以上7中数据类型之一。

typeof操作符:typeof操作符是用来检测变量的数据类型。对于值或变量使用typeof操作符会返回如下字符串:

undefined:未定义、boolean:布尔值、string:字符串、number:数值、object:数组,对象或null、function:函数

typeof操作符可以操作变量(typeof box),也可以操作字面量(typeof '')。虽然也可以这样使用:typeof(box),但typeof是操作符而非内置

函数。函数在ECMAScript中是对象,不是一种数据类型。所以,使用typeof来区分function和object是非常有必要的。

undefined是派生自null的,因此ECMA-262规定对它们的相等性测试返回true。

alert(undefined == null);//打印ture

alert(undefined === null);//打印false

一、String类型:用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。

String类型包含了一些特殊的字符字面量,也叫 转义序列:

\n: 换行

\t 制表

\b 空格

\r 回车

\f 进纸

\\ 斜杠

\' 单引号

\" 双引号

\xnn 以十六进制代码nn表示的一个字符(0~F)。例:\x41

\unnn 以十六进制代码nnn表示的一个Unicode字符(0~F)。例:\u03a3

ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字

符串,然后再用另一个包含新值的字符串填充该变量。

toString()方法可以把值转换成字符串(Boolean值会转换成相应的字符串'true'或'false'):box.toString();

toString()方法一般是不需要传参的,但在数值转成字符串的时候,可以传递进制参数。

var box = 10;

alert(box.toString()); //10,默认输出

alert(box.toString(2)); //1010,二进制输出

alert(box.toString(8)); //12,八进制输出

alert(box.toString(10)); //10,十进制输出

alert(box.toString(16)); //a,十六进制输出

如果在转型之前不知道变量是否是null或者undefined的情况下(toString()方法会报错),我们还可以使用转型函数String(),这个函数能够

将任何类型的值转换为字符串。var box = null;alert(String(box));如果值有toString()方法,则调用该方法并返回相应的结果,如果是

null或者undefined,则返回"null"或者"undeinfed"。

二、Object类型

ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。

var box = new Object();

也可以用别的方法创建,如:var box=null;或者var box={};这两种都可以创建一个Object类型。

打印object对象的一个方法:

function obj_to_string(obj){
var des = "";
for(var name in obj){
des += name + ":" + obj[name] + ";";
}
return des;
}

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。