免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1066 | 回复: 0
打印 上一主题 下一主题

JavaScript培训日志☆2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-14 17:25 |只看该作者 |倒序浏览
二、JavaScript数据类型
1、数据类型
undefined : 未定义
空值:由关键字null代表(null是空对象----- 没有任何属性和方法)
number  : 数字(其中包括整型数和浮点型数)
boolean : 布尔值(即逻辑值,true或flase)
string  : 字符串(由单个或多个文本字符组成)
function: 函数
object  : 对象
2、undefined类型
(1)在IE5及以下版本中
除了直接赋值和typeof()之外,其它任何对undefined的操作都将导致异常。如果需要知道一个变量是否是undefined,只能采用typeof()的方法:
var v;
if (typeof(v) == 'undefined')
{
  // ...
}
(2)在IE5.5及以上版本中,undefined是一个已实现的系统保留字
因此可以用undefined来比较和运算。检测一个值是否是undefined的更简单方法可以是:
var v;
if (v === undefined)
{
  // ...
}

3、number类型
(1)两个常值定义
JavaScript中总是处理浮点数,因此它没有象Delphi中的MaxInt这样的常量,反而是有这
样两个常值定义:
l         Number.MAX_VALUE  : 返回 JScript 能表达的最大的数。约等于 1.79E+308。
l        Number.MIN_VALUE  : 返回 JScript 最接近0的数。约等于 2.22E-308。


(2)与number类型相关的全局方法
l         isFinite()   : 如果值是NaN/正无穷/负无穷,返回false,否则返回true。
l        parseFloat() : 从字符串(的前缀部分)取一个浮点数。不成功则返回NaN。
4、boolean类型
5、string类型
小知识
(1)js的类型检查
    其实会js的人都知道,js是宽松类型的动态语言,我们可以不用显式的定义变量的数据类型。但实际上,我们使用已定义的变量时,总是会适时的检查它的类型是否符合我们的需要,以做出不同的行为。
    js本身提供了typeof()函数来检查变量的类型,但它的返回值不外乎6种:
l         "number,"
l         "string,"
l         "boolean,"
l         "object,"
l         "function,"
l         "undefined."
下面是一些测试代码的输出结果
var a = new Date();
print(typeof(a));
输出: object

var b;
print(typeof(b));
输出: undefined

print(typeof(1.12));
输出: number

print(typeof(88));
输出: number

print(typeof(a==b));
输出: boolean

print(typeof("hello"));
输出: string
(2)检查变量是属于哪种具体的变量类型,而不仅仅是得到object这个结果
我们可以这样写代码:
var a = new Date();
print(a.constructor == Date)
输出: true   
    constructor是所有prototype对象所共有的属性。上面这种方式是通过比较此对象的构造函数是否与给定的对象相等来进行对象类型检查的,此种方式我们要事先知道可能的对象类型。所以如果要检查变量可能属于哪种对象类型,要采用if-else这样的语句结构:
if(a.constructor == Array)
    print("a is Array");
else if(a.constructor == String)
    print("a is String");
else if (a.constructor == Date)
    print("a is Date");



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/101620/showart_2027547.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP