函数返回值返回为undefined

时间:2014-01-23 15:15:33

标签: javascript

function getRent(rent){
    var rent = 666;
    return rent;
}
function show(){

getRent();
alert(rent);
}

为什么这不起作用?它出现为rent未定义?

4 个答案:

答案 0 :(得分:3)

此代码存在多处问题。

您可以在getRent函数中使用var关键字重新定义rent变量。

其次,当你调用getRent时,你没有将它的返回值赋给任何东西,你实际上是在要求控制台显示一个未定义的变量。

你想要的是

function getRent(){
    var rent = 666;
    return rent;
}

var rent = getRent();
alert(rent);

或者

function getRent(rent){
    rent = 666;
    return rent;
}

var param = 1; //sample variable to change
var rent = getRent(param);
alert(rent);

答案 1 :(得分:2)

您没有将getRent()的返回值分配给任何内容。 rent仅在getRent函数中定义。

var rent = getRent();
alert(rent);

答案 2 :(得分:1)

您在rent而非getRent()中定义show()。因此,rent未在您的案例中定义。

尝试:

function getRent(rent){
    var rent = 666;
    return rent;
}
function show(){
  alert(getRent("params"));
}

答案 3 :(得分:1)

您需要存储getRent()的返回值。

function getRent(){
    var rent = 666;
    return rent;
}
function show(){
    var theRent = getRent();
    alert(theRent);
}

它无法按预期工作的原因是因为在rent内定义的getRent无法在函数外部访问。使用var关键字在函数内声明的变量仅对同一函数内的其他代码“可见”,除非您将值存储在其他位置的变量中。

它可以帮助您阅读JavaScript中的函数和函数参数的基础知识。这是一篇好文章:http://web-design-weekly.com/blog/2013/01/20/introduction-to-functions-in-javascript/