function getRent(rent){
var rent = 666;
return rent;
}
function show(){
getRent();
alert(rent);
}
爲什麼這不起作用?它出來作爲rent
未定義?函數返回值返回爲undefined
function getRent(rent){
var rent = 666;
return rent;
}
function show(){
getRent();
alert(rent);
}
爲什麼這不起作用?它出來作爲rent
未定義?函數返回值返回爲undefined
此代碼有許多錯誤。
對於你正在通過在你的getRent函數中使用var關鍵字重新定義租金變量。
其次,當您調用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);
您定義rent
在getRent()
而不是show()
。所以rent
沒有在你的情況下定義。
嘗試:
function getRent(rent){
var rent = 666;
return rent;
}
function show(){
alert(getRent("params"));
}
您還沒有分配的getRent()
到任何東西的返回值。 rent
僅在getRent
函數中定義。
var rent = getRent();
alert(rent);
您需要存儲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/
你爲什麼要將'rent'參數傳遞給'getRent()'? – Andy
你應該閱讀這篇文章以更好地理解範圍。 http://stackoverflow.com/questions/500431/javascript-variable-scope – Smeegs