我用对象方法创建了一些新对象,但是我无法返回信息。
我打算让allPages
成为一个二维数组:
var allPages = [[]];
function textbox(type)
{
this.type=type;
this.getInfo = function () { return ( this.type ); };
}
function addTextbox(dropdown)
{
var myindex = dropdown.selectedIndex;
var SelValue = dropdown.options[myindex].value;
if(SelValue == "String")
{
var tb = new textbox("string");
allPages[allPages.length-1].push(tb);
var string = "";
for (i = 0;i < allPages.length;i++)
{
for(j = 0;j < allPages[i].length;j++)
{
string = string + allPages[i][j].getInfo;
}
}
<!-- Problem here: prints "function () { return this.type; }"-->
document.write(string);
}
}
}
答案 0 :(得分:2)
上面3行你说的存在问题,应该是:
string = string + allPages[i][j].getInfo(); // mind the () at the end.
答案 1 :(得分:2)
您没有调用该函数,您正在引用它
allPages[i][j].getInfo;
应该是
allPages[i][j].getInfo();