(一) 类型基础

1. JavaScript区分大小写吗? (Yes)
2. 行结束需要分号吗? (可有可无,最好写上,这样逻辑清晰)
3. typeof 功能?返回值有那些? “#6e0000” “number” “boolean” “string”  “object”,注意: (typeof  null) =  "object" ; (typeof undefined)  =  "undefined"
4. undefined 和 null 有什么不同? 前者表示未初始化,后者是一个对象,但是表示一个特殊的空对象。如果函数和方法返回的结果是对象,那么找不到该对象时,返回的通常是null, 值undefined实际是从值null派生的,因此 null == undefined 返回true.
5. 如何表示8进制,16进制:var m = 070; //  八进制用0开头   var n = 0x1A; // 十六进制用0x开头
6. 特殊Number: Number.MAX_VALUE, Number.MIN_VALUE, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, NaN(Not a Number)
7. 有专门表示无穷大的数: Infinity。 Number.NEGATIVE_INFINITY = -Infinity; Number.POSITIVE_INFINITY = Infinity, 判断一个数是有穷的,可以使用isFinite(number),它返回bool值。
8. NaN的特殊之处在于它和自己不等。(NaN == NaN) 结果为false。 函数isNaN(value)用来判断value是否无法转换为number,所以isNaN(“blue”) =true;
isNaN("123") = false

9. String是唯一没有固定大小的原始类型。可以使用单引号( ‘) 或者双引号(“)表示string,个人认为还是使用双引号比较好,因为大多数语言如此:)转移符号是\
     \'
     \\
     \"
     \unnnn   nnnn是十六进制数字,表示Unicode字符
     \xnn       nn是十六进制数字,表示字符

(二)转换

10. 到string转换: 三种基本类型都有toString()函数,对于Number,除了基本的toString()方法,还提供了进制转换 toString(2),toString(8),toString(16),分别是转换为2进制,8进制,16进制。也可以toString(10),这个和toString()等价。

11. 到Number转换:parseInt(), parseFloat()
     parseInt("abc100") =NaN;
     parseInt("100abc") = 100;
     parseInt("070") =56;
     parseInt("070.5") = 56;

     parseInt("abc") =NaN;

     parseInt("0x10") = 16;

     parseInt("0x10.5") = 16;

     parseInt 第二个参数可以指定进制,2为2进制,10为10进制,如果不写,那么系统智能判断(如上面的Sample)

     ParseFloat不支持进制,所以parseFloat("070")= 70; parseFloat("0x10")= NaN;

     这两个parse函数都是截取前面的符合条件的字串转换,所以parseFloat("3.4.5")=3.4; parseInt("12AB")= 12;

12. 强制转换:

    Boolean(value) 下面值转换为false:“”, 0, undefined, null,

    Number(value)同parseInt,parseFloat,有一点区别是没有部分截取分析的能力,所以parseFloat("3.4.5")=NaN; parseInt("12AB")= NaN

    String(value)等价value.toString()




posted on 2008-01-15 11:06  Liu Jian  阅读(373)  评论(0编辑  收藏  举报