三爪的JS奋斗史 - 第二回

 噢.晚上陪杰西卡同学聊了1个小时35分钟的语音。。笑称麦粥..赶紧上来把奋斗史添加上.. -_-

ECMAscript提供了typeof运算符 来判断一个值是否在某种类型的范围内

如:var sTemp = “test string”;

    Alert( typeof sTemp);

 

Undefined 类型

Undefined 类型只有一个值 既是 undefined ,当声明变量未初始化时,该变量的默认值是undefined.

 

Null类型

NullUndefined ECMAscript中定义是相等的,但null 则是表示,尚未存在的对象。既是找不到对象的时候,返回null.

 

Boolean类型

Boolean类型是ECMAscript中最常用的类型之一,它有两个值true false 既是C里面的 0 1

 

Number 类型

ECMA-262中定义的最特殊的类型是Number型,他即可以表示32位的整数,也可以表示64位的浮点数。

定义整数

Var iNum = 55;     十进制

Var iNum = 070;    八进制

Var iNum = 0xff; 十六进制

定义浮点值

Var fNum = 5.0;

浮点字面量的有趣之处在于,它用于计算前,真正存储的是字符串。

科学计数法.一个数表示为数字 e(或E)后面加乘以10的倍数

Var fNum = 3.175e7 等同于 31250000.

Var fNum = 3e-7   等于 0.0000003

 

一个特殊值NaN.这种情况通常发生在(string boolean)转换失败的时候,NaN不能作为算术运算.NaN另有一个奇特之处,它与自身不相等。这意味着 alert(NaN == NaN); 返回false;

 

 

 

 

 

 

String 类型

String的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储0 或者更多的Unicode字符

 

字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1

Var sColor = “red”;

Var sColor = ‘bule’;

 

 

转换

转换成字符串  toString();

Var iNum = 10;

Var bFound = false;

Alert(iNum.toString());     输出“10

Alert(bFound.toString());    输出”false”

Alert(iNum.toString(2));     输出”1010”

Alert(iNum.toString(8));     输出”12”

Alert(iNum.toString(16));    输出”A”

 

转换数字 parseInt parseFloat

parseInt()在转换前,会仔细分析字符串.如果位置0的字符不是有效数字,会返回NaN不再继续其他操作。但如果该字符时有效数字,该方法将查看位置 1 的字符,进行同样的测试,这一过程将持续到发现非有效数字的字符为止。

Var iNum = parseInt(“123456abcd”); returns 123456;

Var iNum = parseInt(“0xA”);         returns 10;

Var iNum = parseInt(“red”);         returns NaN

Var iNum = parseInt(“22.5”);        returns 22

 

parseFloat()方法与parseInt的区别是,将第一个小数点视为有效,第二个小数点无效,还有就是字符串必须以十进制形式表示浮点数,而不能用八位 或者 十六位

 

 

强制类型转换

Boolean(value); Number(value); String(value); 三个函数之一转换值,将创建一个新值.存放由原始值直接转换成的值

 

Boolean 转换的值如果是一个字符的字符串,非0数字或者对象时,Boolean返回true

反之,返回false

 

Number 类似parseFloat 只是在遇见第二个小数点的时候 return NaN

 

 

 

 

 

引用类型:

引用类型通常叫做 类(class 遇到引用值时,所处理的 就是 对象

 

对象是有new 运算符加上要实例化的类的名字创建的

 

Var o = new Object();

 

括号并不是必须的。但最好使用括号。

 

Object

ECMAscript 的所有类都由Object类继承而来.Object类中的所有属性和方法都会出现在其他类中.

 

Object类具有以下属性

Constructor ——对构建对象的函数的引用(指针)

Prototype —— 对该对象的对象模型的引用 原型;

HasOwnProperty( property) ——判断对象是否有某个特定的属性;

IsPrototypeOf( object ) ——判断该对象是否为另一个对象的原型;

propertyIsEnumerable( property )——判断给定的属性是否可以用for….in语句进行枚举;

Toscring( ) —— 返回对象的原始字符串表示、在不同的ECMAscript实现具有不同的值;

ValueOf( ) —— 返回最适合该对象的原始值,对于许多类,该方法返回的值都与Toscring()的返回值相同;

 

上面列出的每种属性和方法都会被其他类覆盖掉;

 

Boolean

 

Boolean类是Boolean最原始类型的引用类型,

Var oBooleanObject = new Boolean(true);

Boolean对象将覆盖Object类的valueof( )方法,返回原始值,即true false.

以后程序最好使用Boolean的原始值 避免发生

posted @ 2009-09-15 00:05  三爪  阅读(140)  评论(0)    收藏  举报