我在这里遇到displayLang变量范围的问题。我想使用函数内部的值,但它继续使用全局值。任何帮助将不胜感激。谢谢。
我从另一个脚本调用此函数,例如changeCaptchaLang(' FR')。
<script type="text/javascript">
var displayLang = 'en';
function changeCaptchaLang(lang) {
displayLang = lang.toLowerCase();
}
var RecaptchaOptions = {
theme : 'clean',
lang : displayLang,
}
答案 0 :(得分:1)
文件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只在函数内有新值,但在它之外它仍然是旧的值。
让我知道它是怎么回事!