Javascript高级程序设计 笔记(一)

类型转换的区别

  XXX.toString() & String(XXX) : 看使用方式知道,两个函数对于null,undefine的处理能力不同

  parseInt() & parseFloat & Number() : 对于 4.5.6 分别输出 4 、4.5 、 NaN ; 主要是parseInt与Number()的区别,对于字符串是部分转换还是整体转换存在区别;对于parseInt与parseFloat的部分截取能力,应该要好好利用。

引用类型

  原始值也有方法和属性:因为他们是伪类

  一般很少使用Boolean类,而是使用Boolean原始值:var oFalseObject = new Boolean(false); var bResult = oFalseObject && true; 返回true, 应为在布尔表达式中,会将对象,看作true,(false的情况是空字串,0,null,undefine)

  Number对象的一些方法:toFixed、toExponential、toPrecision分别用不同形式来表示数字:保留几位小数、以科学计数法表示、以几位有效值表示数字。

  typeof & instanceof : typeof输出变量的类型,但是遇到对象,都返回"object"; instanceof 可以判断具体的对象,返回true or false。

运算符:

  delete用法 : 好久没见到这个符号了,只在C++有用到,没想到javascript中也有,但是功能却似乎不同。C++中是释放空间,javascript是删除开发者定义的属性和方法的引用。什么叫开发者定义,举个例子:delete o.toString 将引发错误,因为toString不是开发者定义的,而是原始ECMAScript方法

  void返回值:防止javascript返回值,不清楚怎么用的,先放着

  在使用加法运算符的时候,一定要仔细检查运算数的数据类型:数字与数字相加,数字与字符串相加,是不同的行为

  关系运算符:很特别,我只能这么说了。当数字与字符串比较时,会将字符串转换成数字;如果字符串不能转换成数字,根据规则,任何包含NaN的关系元算符都要返回false;当字符串与字符串比较时,比较的是字母;所以如果有人问你在javascript中,两个变量比较,小于运算是返回false,那么大于运算一定是true吗,当然不!

  等于运算符:null与undefine相等;NaN与NaN不想等;对象和数字比较对象需要转换成数字;数字和字符比较,字符串需要转换成数字;对象和对象比较,比较的是应用,这和java中一样。

  ===运算符:不进行类型转化比较,也就是说要保持类型和值都需要相等

  

  

   

posted @ 2012-06-23 14:57  winnerX  阅读(148)  评论(0编辑  收藏  举报