在javascript中,只要名称与局部变量相同,就可以访问全局变量?

时间:2018-02-22 08:52:20

标签: javascript

var a="abc";
function(){
var a="efg";
console.log(a);//I need global variable value "abc" here
}
function();

我需要控制台中的值“abc”。我怎样才能获得全局变量值?

3 个答案:

答案 0 :(得分:1)

  

如何获取全局变量值?

使用cdo mergetime 2016*-UoS-L2i-SSTskin-ISAR_002-D054_PtA-v01.0-fv01.5.nc merged.nc cdo sellonlatbox,lon1,lon2,lat,lat2 merged.nc box_2016.nc



window.a




答案 1 :(得分:1)

在您的具体示例中,由于您在全局范围内使用了var,因此您可以在全局对象上访问它,该对象可通过浏览器上的window全局访问;所以window.a



var a="abc";
function example(){
  var a="efg";
  console.log(window.a);//I need global variable value "abc" here
}
example();




,如果该全局是在全球范围内使用constletclass创建的,例如:

let a = "abc";

...你根本无法在该函数中访问它,因为即使通过constletclass 创建的全局变量 globals,它们不是全局对象的属性。

答案 2 :(得分:0)

  

如何获取全局变量值a

也不指定本地变量a

var a = "abc";
function example(){
    var b = "efg";
    console.log(a); // The global variable with the value "abc"
    console.log(b); // The local variable with the value "efg"
}
example();

无论如何它都是你的功能的本地,所以你可以在不影响其他功能的情况下重命名它。不要使用访问全局变量所需的名称。