如何从方法返回一个字符串?

时间:2012-09-18 16:36:13

标签: javascript

我尝试将名称和颜色发送到下面的构造函数。方法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);​

然而警报不起作用。我怎样才能实现我想要的行为?

4 个答案:

答案 0 :(得分:2)

您的小工具不是字符串。它只包含一个返回字符串的函数。

当您尝试创建Gadget类的实例时,您需要使用new运算符。

如果grassgreen不是预定义变量而是字符串,则需要将它们放在引号之间。

尝试

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>