我是编程和编写javascript类的新手,并且在使用toString方法时,我的赋值继续打印数组而不是字符串。我一直无法找到相关信息来帮助解决这个问题。作业是:
创建一个名为World的构造函数(构造函数应该用大写字母命名)。
World对象应该有一个名为plan的属性,它是一个字符串数组。
为World创建一个原型方法,打印出数组的值,每个元素之间有换行符(换行符是\ n)
创建变量世界的实例并调用其toString方法。
这是我到目前为止的代码:
function World(plan){
this.plan = plan;
}
var plan = ["––––––––––",
"| _ |",
"| | |",
"|__| |",
"| ___| |",
"––––––––––"];
var funWorld = new World(plan);
World.prototype.plan = function() {
console.log(this.plan + "\n");
return this;
};
World.prototype.toString = function() {
return(this.plan);
};
console.log(funWorld.toString());
这就是印刷:
[
0: "––––––––––"
1: "| _ |"
2: "| | |"
3: "|__| |"
4: "| ___| |"
5: "––––––––––"
]
我想我问的是我哪里出错了?
答案 0 :(得分:3)
您正在使用同名的实例属性隐藏原型方法 <a onclick="window.open('/admin/posts/post/{{post.pk}}/', 'newwindow', 'width=auto, height=auto'); return false;">
。
您的plan
方法只返回实例属性,即数组。
没有真正看到单独的计划方法的意义 - 您可以在toString
内包含逻辑。
toString
&#13;