javascript代码实例教程-JavaScript 知识点之数据类型

发布时间:2019-01-23 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-JavaScript 知识点之数据类型脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 因为网上相关的教程很多,接触过其它编程语言朋友应该很容易上手,我在此就不多写了。接下来我只写一些我认为在学习过程中容易出问题的地方。

 

一、数据类型划分

Number

String

Boolean

Object

Function

Array

Date

RegExp

Null

Undefined

可以使用tyPEof查看变量的类型,typeof运算符产生的值有number, string, boolean, undefined, function, object. 但是请注意,如果运算数是一个数组或null, 那么结果是object.

 

二、Number

在JavaScript中,浮点与整数间没有区别。事实上,JavaScript中的每个数字都表示使用双精度64位格式IEEE 754。简单理解,所有数字都是浮点。在处理浮点数的时候一定要小心,比如:

 

1 alert(0.1 + 0.2 === 0.3); // false

2 alert(0.1 + 0.2 === 0.30000000000000004); // true

InfinITy和-infinity

即正无穷和负无穷

 

1 alert(1 / 0); // Infinity

2 alert(-1 / 0); // -Infinity

NaN

NaN,即非数值(Not a Number)。 它表示的不是一个数字,尽管typeof NaN === 'number'; 返回的是true. 它是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。

 

可以通过Number.NaN 得到NaN 值,任何与NaN 进行运算的结果均为NaN. NaN不等于任何值,包括它自己。

 

1 alert(Number.NaN); //NaN

2 alert(NaN + 1); //NaN

3 alert(NaN === NaN) //false

4 alert(NaN !=== NaN) //true

可以用isNaN来判断这个值到底是不是NaN。isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值。

 

1 alert(isNaN(25)); //false,25 是一个数值

2 alert(isNaN('25')); //false,'25'是一个字符串数值,可以转成数值

3 alert(isNaN('hi')); //true,'hi'不能转换为数值

如果我们要检测一个变量是真的是数字而不是NaN, Infinity,或者通过字符串转换过来的,我们可以借助isFinite函数。isFinite可以去掉NaN, Infinity,但会尝试将这个值转换为数值。所以我们可以这样写:

 

1 VAR isNumber = function isNumber(value)

2 {

3     return typeof value === 'number' && isFinite(value);

4 }

6 alert(isNumber('10')); // false

parseint

parseInt可以把字符串转换为整数。它遇到非数字时会停止解析。

 

1 alert(parseInt('12.34')); //12,去掉小数点后面的

2 alert(parseInt('12.34abc56')); //12,去掉小数点后面的,遇到非数字时会停止解析

3 alert(parseInt('abc12.34')); //NaN,如果第一个不是数值,就返回NaN

4 alert(parseInt('')); //NaN,空返回NaN

parseInt除了能够识别十进制数值,也可以识别八进制(我实验后发现只是对低版本浏览器有效,FF,Chrome会将前导0去掉)和十六进制。

 

1 alert(parseInt('070')); //56=>八进制(IE6);70=>FF,Chrome会将前导0去掉

2 alert(parseInt('080')); //0=>(IE6)八进制中8,9是无效的,按0处理; 80=>FF,Chrome会将前导0去掉

3 alert(parseInt('0xA')); //10,十六进制

4 alert(parseInt('0xAyz')); //10,十六进制,yz 被自动过滤掉

同时parseInt还提供了第二个参数,用于解决各种进制的转换。这也是推荐的写法,以免发生像上面例子中不同浏览器有不同处理的问题。

 

1 alert(parseInt('101010', 2)); // 42, 二进制

2 alert(parseInt('0xAF')); //175,十六进制

3 alert(parseInt('AF',16)); //175,第二参数指定十六进制,可以去掉0x 前导

4 alert(parseInt('070', 8)); //56, 八进制

parseFloat

parseFloat是用于浮点数值转换的,从第一位解析到非浮点数值位置。但它是不认十六进制的。

 

1 alert(parseFloat('0xA')); //0,不认十六进制

2 alert(parseFloat('1.234e7')); //12340000,可以把科学技法转成普通数值

三、String

String类型用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。字符串的很多方法都会和正则表达式一起使用,等介绍正则表达式的时候再详细说明,这里就先不多写了,只先说两点:

 

提取字符串中的一个字符

1 var name = 'Wendy';

2 alert(name.charAt(1)); //e

如果写成name[1]在IE6下会显示undefined,所以使用时要慎重。

 

提取字符串的某个部分

推荐使用slice, 因为substring不能处理负数参数。详细用法请看w3c之slice

 

四、Boolean

Boolean 类型有两个值:true 和false.

任何值都可以转为Boolean,遵循着以下原则:

1. false, 0, 空串(""), NaN, null, undefined均转为false

2. 其余值转为true

 

五、undefined和null

undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象。如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null.

 

关于object, 会在以后的文章中详细介绍。

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-JavaScript 知识点之数据类型全部内容,希望文章能够帮你解决javascript代码实例教程-JavaScript 知识点之数据类型所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。