在另一个范围内声明变量

AKZ*_*AKZ 1 javascript

看看这个剪切的代码:

main = function() {
  alert('This is ' + T);
}

caller = function() {
  var T = 'me';
  main();
}

caller();
Run Code Online (Sandbox Code Playgroud)

如你所见,我想功能主要识别变量T的值,但浏览器出现此错误:T未定义.

我可以通过将变量T的范围更改为全局范围来处理此错误,或者甚至将T变量传递给函数main,但由于某种原因我不想使用那些并且我想在函数main的范围内声明变量T. 有可能吗?我该如何处理这种情况?

谢谢.

Ser*_*gio 6

你有3个选择:

  • 在两者之外宣布T.
  • 将T传递给main(T)作为参数
  • 写主要内部来电者