我在这里与displayLang变量作用域有关。我想使用函数内部的值,但它一直使用全局值。任何帮助将不胜感激。谢谢。

我从另一个脚本(如changeCaptchaLang('FR'))调用此函数。

<script type="text/javascript">
var displayLang = 'en';

function changeCaptchaLang(lang) {
    displayLang = lang.toLowerCase();
}

var RecaptchaOptions = {
    theme : 'clean',
    lang : displayLang,
 }

最佳答案

文件1:

<script type="text/javascript">
var lang = 'FR';

lang = changeCaptchaLang(lang);
alert(lang + " " + RecaptchaOptions['lang']); // result: "fr fr"
</script>

文件2:
var displayLang = 'EN';

var RecaptchaOptions = {
    theme : 'clean',
    lang : displayLang,
}

function changeCaptchaLang(lang)
{
    displayLang = lang.toLowerCase();
    RecaptchaOptions['lang'] = displayLang;
    return displayLang;
}

如果我没记错的话,该函数中的displayLang仅在函数内部具有新值,但在函数外部仍然具有相同的旧值。

让我知道事情的后续!

09-10 11:23