首页 > javascript学习 > 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(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();方法一般不需要传参,但在数值转成字符串的时候,可以传递进制参数。

var box = 10;
console.log(box.toString()); //10,默认输出
console.log(box.toString(2)); //1010,二进制输出
console.log(box.toString(8)); //12,八进制输出
console.log(box.toString(10)); //10,十进制输出
console.log(box.toString(16)); //a,十六进制输出

null或者undefined使用toString()方法会报错

String()方法能够将任何类型的值转换为字符串(包括null或者undefined)。如果要转换的值有toString()方法,则调用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
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。