三爪的JS奋斗史 - 第二回
ECMAscript提供了typeof运算符 来判断一个值是否在某种类型的范围内
如:var sTemp = “test string”;
Alert( typeof sTemp);
Undefined 类型
Undefined 类型只有一个值 既是 undefined ,当声明变量未初始化时,该变量的默认值是undefined.
Null类型
Null与Undefined 在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的原始值 避免发生
浙公网安备 33010602011771号