我已寫入函數,它將其變量arrvar
設置爲接收的參數。 然後我增加了一些方法,以該函數:將元素添加到數組中不會增加其長度
setArray
:增加的參數的arrvar
showArray
結束:數組arrvar
showArrayType
輸出:輸出陣列arrvar
的類型(這總是對象)showLength
:輸出陣列的長度arrvar
這裏的問題是,當我撥打setArray()
時,arrvar
的長度不會增加,如下所示。這是爲什麼?
function ArrayClass()
{
if (arguments.length != 0) {
this.arrvar = arguments;
}
}
ArrayClass.prototype.setArray = function() {
for (var i = this.arrvar.length, j = 0; j < arguments.length; i++, j++)
{
this.arrvar[i] = arguments[j];
}
}
ArrayClass.prototype.showArray = function()
{
for (var i in this.arrvar) {
document.writeln(this.arrvar[i]+' ');
}
document.writeln("<br />");
}
ArrayClass.prototype.showArrayType = function()
{
document.writeln(typeof this.arrvar + '<br />');
}
ArrayClass.prototype.showLength = function()
{
if (this.arrvar) {
document.writeln('Length: ' + this.arrvar.length + "<br />");
}
}
var arrObj = new ArrayClass(11, 22, 33, 44);
arrObj.showArray(); //11 22 33 44
arrObj.showArrayType(); //object
arrObj.showLength(); //4
arrObj.setArray(55, 66, 77);
arrObj.showArray(); //11 22 33 44 55 66 77
arrObj.showArrayType(); //object
arrObj.showLength(); //**4**
是啊,這不是最終的代碼,我知道這個函數沒有特定的含義,從上面的摘錄那是因爲我已經剝離了代碼來需要一個來解釋問題:p – Mahesha999 2013-03-24 08:56:12