function getRent(rent){
var rent = 666;
return rent;
}
function show(){
getRent();
alert(rent);
}
为什么这不起作用?它出现为rent
未定义?
答案 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/