JS基础学习二

  

(5)在兼容XHTML的浏览器中使用[CDATA[js代码]]来解决XHTML对JS中的“<”不能识别问题,而对于不兼容XHTML的浏览器,可采用JS的注释将CDATA标记注释掉就行了,虽然有几分hack的味道,但这样做能通过XHTML验证,而且也兼容HTML。

(6)一般采用外部文件包含的方式来使用JS,因为这样可维护性强,而且也无需使用上面提到的XHTML或注释hack。HTML和XHTML包含外部文件的语法是相同的。

(7)<noscript>元素只有在浏览器不支持JS或浏览器支持JS但被禁用的情况下解析。

(8)变量在未被初始化时存储了一个特殊的值——undefined;如var test;那么此时test就未被初始化,其值即为undefined。在函数中用var定义变量,当该变量出了该函数就无效了!

但如果在函数中直接定义变量,即变量前不加var那么该变量就是全局变量,可以在函数外的任何部分都能被访问到。

(9)JS中的五中基本(简单)数据类型:Undefined、Bool、Null、String、Number;另外还有一种复杂的数据类型——Object,JS不支持自定义数据类型,所以,所有的值都是以上6种数据类型之一!

(10)检测变量数据类型的操作符(注意不是函数)typeof()<其中的圆括号对也不是必须的>;它会返回以下字符串:         undefined—值未定义;boolean—值为布尔值;object—值为null或对象;number—值为数值;string—值为字符串;function—值为函数

(11)Null是第二个只有一个值的数据类型,这个特殊值就是null,如定义的变量打算用来存储对象,那么该变量最好初始化为null值。如 var demo = null。null和undefined的区别:它们的值是相等的,即undefined==null总是返回true,另外没有必要现实地声明一个变量为undefined,而对于有意向要保存对象的变量还没有真正滴保存对象,就应该明确滴让变量保存null值,这样进一步区分null和undefined。

(12)要将一个值转换成其对应的布尔值,可使用转型函数Boolean()。JS可以存储八进制和十六进制的数,但在算术运算中会自动转成十进制进行运算。如 var num1 = 075;

var num2 = ox1f;等等。因浮点数需要的内存是整数的两倍,所以ECMAScript会不失时机地将浮点数转为整数,如var floatNum1 = 1.;var floatNum2 = 10.0;对于这些ECMAScript都会将它们解析为整数存储;浮点数值的最高精度是17位小数,但它的精度远远不如整数那么高!如0.1+0.2可能不会等于0.3。可以通过Number.MIN_VALUE和Number.MAX_VALUE获得JS中能表示的最小和最大的数值,如果超过它的范围就会表示成Infinity和-Infinity,另外还可通过isFinite()函数来检测数值是否在JS所能表示数值范围之内。

NaN(not a number)用isNaN()函数来检测某个值是否为NaN,NaN不与任何值相等(包括它自己)。isNaN也适用于对象,在基于对象调用NaN时,首先会调用对象的valeOf(),然后确定该方法返回的值是否可以转换成数值;如不能再基于这个返回值调用toString()方法,再测试返回值。

posted @ 2012-02-10 20:12  jia58960  阅读(407)  评论(0编辑  收藏  举报