javascript细节点滴NaN,null,undefined

JavaScript中isNaN函数 JavaScript中isNaN函数方法是返回一个 Boolean 值,指明提供的值是否是保留值 NaN 。 使用方法:isNaN(numValue) 其中必选项 numvalue 参数为要检查是否为 NAN 的值。 如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。 注意:NaN “Not a Number”。出现这个数值比较少见,以至于我们可以不理它。当运算无法返回正确的数值时,就会返回“NaN”值。NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。 isNaN是个函数,它计算一个参数,检查它是否为数值。 [html] null 意指『沒有值』。被当做一个对象(object)。 如:取得一个不存在的dom对象 null === document.getElementById('notExistElement'); <script type="text/javascript"> alert(typeof(unll));//object </script> undefined 有以下两种情况会被视为undefined: 1. 一个变量没有被声明,(程序报错) 2. 声明的变量没有被赋值。(object)。 <script type="text/javascript"> alert(typeof(undefined));//undefined </script> <script type="text/javascript"> var objNull = null; var objUndef = undefined; alert(objNull);//null alert(objUndef); //undefined alert(objNull + objUndef);//NaN </script> <script type="text/javascript"> alert(objNull + 123); //123 alert(objNull + "123");//null123 alert(objUndef + 123); //NaN alert(objUndef + "123");//defined123 </script> <script type="text/javascript"> var objDeclare; alert(objUnDeclare);//出错:提示objUnDeclare没有被定义 alert(objDeclare);//undefined alert(typeof(objDeclare));//undefined alert(typeof(objUnDeclare));//undefined </script> if(!$) { function $(sid) {return document.getElementById(sid);} } 这段代码的作用是如果已经引入prototype中的$定义,就不再定义,否则使用自己定义的。但是在FF下确出现了问题。 可能是FF下对未定义的变量直接做错误处理,而IE则会进行自动的类型转换,也就是说如果系统中没有定义$那么!$就会被转换为true。这又是ie为兼容性做的事,但同样,大家不领情的认为它不符合标准。。。 如果想让它正常运行只有这样 if(typeof $==='undefined') { function $(sid) {return document.getElementById(sid);} } 备忘一下。。。 typeof NaN ==='number' typeof undefined ==='undefined' typeof null==='object' ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。 1. alert(null === undefined); //output "false" 2. alert(typeof null == typeof undefined); //output "false" null与undefined的类型是不一样的,所以输出"false"。 而===代表绝对等于,在这里null === undefined输出false。 [/html]
posted @ 2010-09-01 10:52  7hihi  阅读(159)  评论(0编辑  收藏  举报