浏览 3609 次
锁定老帖子 主题:JavaScript的面向对象的类的写法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-26
var sb = new StringBuffer("a","b"); sb.append("c"); sb.append("d"); alert(sb.toString()); 类的定义: var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var StringBuffer = Class.create(); StringBuffer.prototype = { initialize:function(){ this._array = new Array; for(var i=0;i < arguments.length;i++){ this._array.push(arguments[i]); } } , append:function(){ for(var i=0;i < arguments.length;i++){ this._array.push(arguments[i]); } } , toString:function(){ return this._array.join(""); } }; 在写的过程中遇到一个问题: 如果参数直接传arguments,答应出的是[object Object],但是如果用apply之后就没问题,估计arguments是个相对于本对象的一个函数,不能当参数传递。下面这段代码就是例子。 function a1(){ var _array = new Array; _array.push(1); _array.push(2); alert(arguments); a2(); } function a2(){ alert(arguments[0]); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |