在函数内部设置时变量未定义

时间:2014-03-20 15:37:37

标签: javascript

 function setx(){
    var x = 'foobary bazer'
    showit();
 }

 function showit(){
   console.log(x);
 }

 setx();

在上面的示例中,showit函数失败,因为x未定义。但是,x被设置并且在调用showit之前在内存中可用(或者我认为)。为什么不是这样?

此外,使代码正常工作的最佳方法是什么,因此console.log确实会将foobary bazer打印到控制台?我可以摆脱var并使其成为一个全球性的,但我不认为这是最好的方式,因为它可能会导致奇怪的错误。

1 个答案:

答案 0 :(得分:0)

您可以将x变量传递给showit函数:

function setx(){
    var x = 'foobary bazer'
    showit(x);
}

function showit(x){
    console.log(x);
}

setx();