javascript的几种数据类型

••javascript 有种5基本数据类型••
≥分别是:
≥number(数字类型)
≥string(字符串类型)
≥underfined(空类型)
≥null(空类型)
≥boolen(布尔值)



≥ 1.number整数 可以通过10进制 8进制 16进制表示

≥ 浮点数 该数值必须包含一个小数点,小数点后面必须有一位数字,如果小数点后只有0,自动转换成整数

≥ 浮点数占据的空间内存是内存的两倍,极大极小的数字会用e科学表示法。

≥ NaN

≥ 1、即非数值,是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数,未返回数值的情况。比如任何数值除≥以0,本是不符合规范的,js里,这样的操作返回NaN(但是实际上,只有0除以0时返回NaN,其他则无穷值)。
≥ 2、NaN有两个不同寻常的特点:任何涉及NaN的操作都会返回NaN,NaN值与任何值都不相等,包括本身。
≥ 3、isNaN()函数,这个函数可以判断,传递的参数是否“不是数值”这里涉及数值转换的问题,例如“10”这个字符串就≥可以转换为10,但是“blue”这个字符串则无法转换为数字,所以isNaN(“blue”)==true

≥ Number() 可以 任何类型




≥ 2.string
≥ JavaScript 中 slice 、substr 和 substring的区别:
≥ 1: String.slice(start,end): 一个新的字符串。包括字符串 stringObject 从 start 开始(包括 ≥start)到 end 结束(不包括 end)为止的所有字符.
≥ 2: String.substring(start,end) 这个就有点特别了,它是先从start,end里找出一个较小的值. ≥然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的
≥ 字符串,截取出来的字符串的长度为较大值与较小值之间的差。
≥ 一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 ≥处的所有字符,其长度为 stop 减 start。
≥ 3: String.substr(start,end) 这个就是我们常用的从指定的位置(start)截取指定长度(end)的字符串.
≥ 一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 lenght ≥个字符。如果没有指定 lenght,那么返回的字符串包含从 start
≥ 到 stringObject 的结尾的字符。

≥ String 对象的方法 slice()、substring() 和 substr() (不建议使用)≥都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() ≥与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。




≥ 3.underfined和null
≥ JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined ≥的判断。

≥ 以下是不正确的用法:

≥ var exp = undefined;
≥ if (exp == undefined)
≥ {
≥ alert(“undefined”);
≥ }


≥ exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 ≥undefined 和 null 时可使用本法。



≥ var exp = undefined;
≥ if (typeof(exp) == undefined)
≥ {
≥ alert(“undefined”);
≥ }


≥ typeof ≥返回的是字符串,有六种可能:”number”、”string”、”boolean”、”object”、”function”、”undefined”



≥ 以下是正确的用法:



≥ var exp = undefined;
≥ if (typeof(exp) == “undefined”)
≥ {
≥ alert(“undefined”);
≥ }
≥ JS 中如何判断 null


≥ 以下是不正确的用法:



≥ var exp = null;
≥ if (exp == null)
≥ {
≥ alert(“is null”);
≥ }


≥ exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 ≥null 和 undefined 时可使用本法。



≥ var exp = null;
≥ if (!exp)
≥ {
≥ alert(“is null”);
≥ }


≥ 如果 exp 为 undefined 或者数字零,也会得到与 null 相同的结果,虽然 null ≥和二者不一样。注意:要同时判断 null、undefined 和数字零时可使用本法。



≥ var exp = null;
≥ if (typeof(exp) == “null”)
≥ {
≥ alert(“is null”);
≥ }


≥ 为了向下兼容,exp 为 null 时,typeof 总返回 object。

≥ var exp = null;
≥ if (isNull(exp))
≥ {
≥ alert(“is null”);
≥ }


≥ JavaScript 中没有 isNull 这个函数。


≥ 以下是正确的用法:



≥ var exp = null;
≥ if (!exp && typeof(exp)!=”undefined” && exp!=0)
≥ {
≥ alert(“is null”);
≥ } 




≥ 4.boolean
≥ js中的boolean原始类型和Boolean引用类型
≥ js 代码
≥ 1. var bFound = true;
≥ 2. var bFlag = false;
≥ 如上面的两行代码,boolean类型是JavaScript中的一种原始类型,它只有两种值:true和false。 ≥使用Boolean(value)方法可以强制转换任意值为boolean类型 js 代码
≥ 1. alert(Boolean(‘’));
≥ 2. alert(Boolean(‘hello’));
≥ 3. alert(Boolean(100));
≥ 4. alert(Boolean(0));
≥ 5. alert(Boolean(NaN));
≥ 6. alert(Boolean(null));
≥ 7. alert(Boolean(undefined));
≥ 8. alert(Boolean(new Object()));
≥ //output true 可以看出,当被转换的值为空字符串、数字0和NaN、null或者undefined时,转换为false≥,其它情况转换为true。所以当我们写if判断的时候需要注意这些特殊的情况,尤其是使用目前比较流行的“对象探测≥法”书写JS时。 “对象探测法”主要写法如下: js 代码
≥ 1. var student = new Object();
≥ 2. if (student.name) {
≥ 3. alert(student.name);
≥ 4. } else {
≥ 5. student.name = ‘Tom’;
≥ 6. alert(student.name);
≥ 7. }

Share