我尝试将名称和颜色发送到下面的构造函数。方法this.whatAreYou()
应该在调用时检索这些字符串。
我想在屏幕上显示。
我有以下代码:
function Gadget(name, color) {
this.name = name;
this.color = color;
this.whatAreYou = function() {
return 'I am a ' + this.name+ ' ' + this.color;
};
}
string = Gadget(grass, green);
alert(string);
然而警报不起作用。我怎样才能实现我想要的行为?
答案 0 :(得分:2)
您的小工具不是字符串。它只包含一个返回字符串的函数。
当您尝试创建Gadget类的实例时,您需要使用new
运算符。
如果grass
和green
不是预定义变量而是字符串,则需要将它们放在引号之间。
尝试
var g = new Gadget('grass', 'green');
alert(g.whatAreYou());
答案 1 :(得分:1)
您需要使用Gadget
运算符创建new
的实例。
var gadget = new Gadget('grass', 'green');
var string = gadget.whatAreYou();
alert(string);
答案 2 :(得分:1)
function Gadget(name, color) {
this.name = name;
this.color = color;
this.whatAreYou = function() {
return 'I am a ' + this.name+ ' ' + this.color;
};
return this.whatAreYou;
}
string = Gadget(grass, green);
alert(string);
答案 3 :(得分:1)
你有一些错误,包括传入小工具的参数不在引号中。你永远不会调用whatAreYou()。
<script type="text/javascript">
function Gadget(name, color) {
this.name = name;
this.color = color;
this.whatAreYou = function () {
return 'I am a ' + this.name + ' ' + this.color;
};
return whatAreYou();
}
alert(Gadget('grass', 'green'));
</script>