精通Javascript读书笔记1
时间:2010-09-20 来源:irischan
《精通Javascript》
Chap 1
1. 使用命名空间保护你的库。
YAHOO.util.Event.addListner(...);
Chap 2
2. 引用
多个变量能够指向同一对象。引用指向的只能是具体对象,而不是另一个引用;不允许多层引用。
但是,在执行字符串连接操作时,结果总是一个新的字符串对象,而非源字符串的修改版本。
eg1.
var object=new Object(); var objRef=obj; obj.oneProperty=true; alert(obj.oneProperty === objRef.oneProperty);
eg2.
var items=new Array("one","two","three"); var itemsRef=items; items=new Array("new","Array"); alert(items!=itemsRef);
eg3.
var item="test"; var itemRef=item; item+="ing"; alert(item!=itemRef);
3. 判断传入参数类型
如果没有提供参数,类型必定为undefined。
if( typeof msg == 'undefined') {...}
1) typeof语句
当变量不是object或者array类型时,这个是一个很好的解决方法。但是对于自定义对象,比如user就不能用这个方法进行类型检查,因为他只会返回object。
2) 构造函数
这一属性引用原本用来构造对象的那个函数。
// check number if(num.constructor == String) num=parseInt(num); //check array if(str.constructor == Array) str=str.join(',');
3) 对比 typeof 和 构造函数
变量 | typeof变量 | 构造函数 |
{an:“object”} | object | Object |
[“an”,”array”] | object | Array |
function(){} | function | Function |
“a string” | string | String |
55 | number | Number |
true | boolean | Boolean |
new User() | object | User |
相关阅读 更多 +