浏览 1109 次
锁定老帖子 主题:Javascript 对象 (四)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-29
最后修改:2008-12-29
函数返回对象可以用构造函数来创建个对象,也可以通过普通函数返回对象来创建对象 function factory(name){ return { name:name }; } 用这个方法创建对象 var o = factory('one'); o.name 让我们接下来看看比较少见的构造函数返回对象的例子 function C(){ this.a = 1; return {b:2}; } var c2 = new C(); typeof c2.a //undefined c2.b; // 2 说明了 并不返回this了 而是返回了对象{b:2}。。这点要注意
传递对象如果传递一个对象到函数里,那么传递的是个引用。如果改变了这个引用,也就会改变原始的对象。 下面是个对象赋值的例子 var original = {name:'nicholas'}; var copy =original; copy.name;//'nicholas'; copy.name = 'Jason'; original.name;// 'Jason';
修改了copy的属性name 也就等于修改了original的属性name 对象传参到函数中,也是同样的。 function modify(o){ o.name ='Jason' } var original={name:'nicholas'}; modify(original); original.name;//Jason
对象的比较两个对象的比较如果是true的话,那么他们就是同一个对象的引用。 var fido ={breed:'dog'}; var benji ={breed:'dog'}; benji===fido; //false; benji==fido; //false; 以上的代码都不是同一引用,所以都是false 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |