Javascript在函数中传递变量

时间:2015-02-28 00:21:08

标签: javascript html

我是javascript的新手。我正在创建一个文本冒险。我正在尝试编写一个函数来获取给定的参数,并使用.toLowerCase并将其作为相同的变量返回。我想我有一般的想法去做,但我无法让它发挥作用。谢谢!

function lowercase(a){
    return a.toLowerCase();
}

var alive = 1;
while(alive == 1){
    var name = prompt("What is your name?");
    lowercase(name);
    document.write("Hello " + name + "!\n");
    break;
}

5 个答案:

答案 0 :(得分:1)

您需要指定函数的结果:

name = lowercase(name);

你是一般的编程新手吗?因为Javascript在这方面与大多数其他语言类似。

答案 1 :(得分:1)

name = lowercase(name);

由于要返回函数中的值,因此必须重新初始化变量的值。据我所知,Javascript不是"通过引用传递"语言。它始终是一个值得传递的"。在这里阅读更多相关信息。

What's the difference between passing by reference vs. passing by value?

答案 2 :(得分:0)

此时名称变量的值未被更改,您需要将其分配给函数的结果。



function lowercase(a){
    return a.toLowerCase();
}

var alive = 1;
while(alive == 1){
    var name = prompt("What is your name?");
    name = lowercase(name);
    document.write("Hello " + name + "!\n");
    break;
}




答案 3 :(得分:0)

使用name = lowercase(name); 该函数返回一个结果,但您必须将此结果分配给变量才能在之后使用它,或者您可以简单地说

document.write('Hello' + lowercase(name) + 'something');

答案 4 :(得分:0)

name = lowercase(name);

注意,你几乎应该总是使用" ==="而不是" =="。 " ==="测试某事物的值和数据类型(数字,字符串,布尔值,对象等)是否与另一个匹配,而" =="仅测试值是否匹配(执行类型转换后)。例如:

if ("42" == 42) { // true (string 42 equals number 42)
if ("42" === 42) { // false (string does not equal number, what you want)