簡體   English   中英

函數返回值返回未定義

[英]Function return value returns as undefined

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

getRent();
alert(rent);
}

為什么這不起作用? rent不確定嗎?

此代碼有很多錯誤。

對於其中一個,您正在使用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);

您沒有將getRent()的返回值分配給任何東西。 rent僅在getRent函數中定義。

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

您在getRent()定義rent ,而不是在show()定義rent 因此,您的情況未定義rent

嘗試:

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

您需要存儲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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM