预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavaScript数据类型学习JavaScript数据类型学习ECMAscript中有5种简单的数据类型,也被称为基本数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂的数据类型——Object。Undefined类型在使用var声明变量但未对其进行初始化时,这个变量的值就是undefined。如:varnumber;document.write(number);//undefined如果没有声明变量则会出现下面这种错误。如:document.write(str);//错误但是用typeof对其进行执行时,不管有没有声明都会返回undefined值。如:varnum;document.write(typeofnum);//undefineddocument.write(typeofstr);//undefinedNull类型使用typeof检测null时会返回"object"。如:varnum=null;document.write(typeofnum);//object实际上undefined值是派生自null值的,因此他们相等都会返回true。如:alert(null==undefined);//true这里要注意的是,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null值,此举有助于区分null和undefined。如:varnum1=null;varnum2;document.write(typeofnum1+""+typeofnum2);//objectundefinedBoolean类型要将一个值转换为其对应的Boolean值,可以使用转型函数Boolean()。如:varstr="helloworld";document.write(Boolean(str));//true《JavaScript高级编程设计》一书中的3.4.4中给出了关于各种数据类型及其对应的转换规则表格。大概有以下几种:数据类型为String时,任何非空字符串都会转换为true;数据类型为Number时,除了0和NaN会被转换为false之外,其他都会转换为true;数据类型为Object时,除了null之外,都会转换为true;数据类型为Undefined时,n/a会被转换为true,undefined会被转换为false;这里要注意的是,if语句经常使用自动执行响应的Boolean转换作为条件。如:varstr="helloworld";if(str){document.write("hellothere");}//hellothereNumber类型除了可以以十进制表示之外,整数还可以通过八进制或者十六进制的字面值来表示,其中八进制字面值的第一位必须是0,然后是八进制数字序列(0~7)。如:varnum1=070;//八进制的56varnum2=032;//八进制的'32varnum3=079;//错误的八进制(>7)varnum4=09;//错误的八进制(>7)十六进制字面值的前两位必须是0x,后面跟任何十六进制数(0~9及A~F)。如:varnum1=0xA;//十六进制的10varnum1=0xa;//也是十六进制的10(字母不区分大小写)浮点数值这里要注意的是,永远不要比较特定的浮点数值。如:vara=0.1;varb=0.2;if(a+b==0.3){document.write("youareright")}//因为0.1加上0.2实际上等于0.30000000000000004数值范围ECMAScript能够表示的最大和最小数值保存在Number.MAX_VALUE和Number.MIN_VALUE之中。要想确定一个数值是不是有穷的,可以使用isFinite()函数。如:document.write(isFinite(Number.MAX_VALUE+Number.MAX_VALUE));//falseNaN0除以0会返回NaN,正数除以0会返回Infinity,复数则会返回-Infinity。其次,NaN与任何数值都不相等,包括它本身。另外函数isNaN()可以帮助我们确定这个参数是否“不是数值”。如:document.write(isNaN("a"));//true;document.write(isNaN("324"));//false;document.write(isNaN(true));//false;document.write(isNaN(false));//false;