javascrip基础——需要注意的小细节。

1.区分undefined 和null:

              undefined: 表示一个对象没有被定义或者没有被初始化。

               null:表示一个尚未存在的对象的占位符。

   undefined类型是从null派生来的,所以他们是想等的: alert(null==undefined)  //true

2.使用typeof运算符:

               typeof返回的是有个字符串,不是类型,所以

       if(typeof oTemp ==undefined){...}   //false
   应改为:
if(typeof oTemp ==’undefined‘){...} //true

 typeof对各运算符返回的结果:

undefined:  undefined
null:       object
string:     string
number:     number
boolean:    boolean
function:  function
object:    object

注意:null返回的是object, 一个没有返回值的function返回的是undefined。

3.javascript命名规范:

      Camel命名法:首字母小写,接下来的单词首字母大写: var firstName;

     Pascal命名法:首字母大写,接下来的单词字母大写:var FirstName;

     匈牙利类型命名法:以Pascal命名法的变量前面附加一个小写字母来说明变量的类型:var sFirstName;

在javascript中用匈牙利类型命名法命名变量,使用 Camel命名法命名函数。

4.javascript中的逻辑运算符:

    (1)NOT运算符(!):返回的值一定是boolean值

如果运算数是对象,                 则返回false。
如果运算数是数字0,                则返回True。
如果运算数是0以外的任何数字,       则返回false。
如果运算数是null,                则返回true。
如果运算数是NaN,                 则返回true。
如果运算数是未初始化的undefined,  则返回true。
如果运算数是未定义的undefined,    则发生错误。

 (2)AND运算符(&&):如果运算数都是Boolean类型的对象,那么运算规则就是如果一个是false,则返回false。

               在javascript中AND 和NOT运算符的最特别的地方是运算数不一定是Boolean类型,返回的值也不一定是Boolean值,可能返回对象。

如果一个运算数是对象,另一个是Boolean值,  则返回该对象。
如果两个运算数都是对象,                 则返回第二个对象。
如果某个运算数是null,                  则返回null。
如果某个运算数是NaN,                   则返回NaN。
如果某个运算数是未初始化的undefined,    则返回undefined。
如果运算数是未定义的unfinished,        则发生错误

alert(false && null);    //false
alert(true && null);    //null
alert(null && false);    //null

(3)OR运算符(||):在javascript中,OR运算符的运算数不一定是Boolean类型,返回的值也不一定是Boolean值。

如果一个运算数是对象,另一个是Boolean值,  则返回该对象。
如果两个运算数都是对象,                 则返回第一个对象。
如果某个运算数是null,                  则返回null。
如果某个运算数是NaN,                   则返回NaN。
如果某个运算数是未初始化的undefined,    则忽略此操作数。
如果运算数是未定义的unfinished,        则发生错误

 

 

posted @ 2013-04-29 11:04  xiaohong_oath  阅读(226)  评论(0编辑  收藏  举报