繁体   English   中英

如何在javascript中的嵌套函数中更改函数变量?

[英]How to change function variable in a nested function in javascript?

我正在尝试更改在嵌套函数中的函数内声明的变量的值。 但它不起作用。 这是一个例子

 function foo() { var str = ""; function foo1() { str = "hello"; } foo1(); alert(str); // it shows nothing }
 <input type="button" onclick="foo()">

你在函数内部定义的东西存在于函数内部,目前无法访问内部函数,要么将代码移到函数外调用或重写函数,从函数调用内部函数,如下所示!

 function foo() { var str = ""; function foo1() { str = "hello"; } foo1(); alert(str); // it shows nothing }
 <input type="button" onclick="foo()" value="click"/>

 var str = ""; function foo1() { str = "hello"; } function foo() { foo1(); alert(str); // it shows nothing }
 <input type="button" onclick="foo()" value="click"/>

您可能希望将字符串设置为foo1()的返回值。

function foo() {
    function foo1(){
        return "bar";
    }
    var str = foo1();
    alert(str);// it shows "bar"
}

foo();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM