如何在JavaScript函数内访问相同变量名?

3
如何在JavaScript函数内部访问相同的变量名?
var xyz = "Hello";
console.log("outside function: " + xyz)
function abc() {
    var xyz = "World!";
    console.log("inside function: " + xyz) // output should be "Hello world!"
} abc();

在函数内部只使用 console.log("inside function: " + xyz + " World!") 而不给 xyz 分配任何值,这样怎么样? - AKS
4个回答

3

尝试:

var xyz = "Hello";
console.log("outside function: " + xyz)
function abc() {
    var xyz = (window.xyz || "") +" " + "World!";
    console.log("inside function: " + xyz) // output should be "Hello world!"
} abc();

谢谢! :) Anupam,回复得真快。我明白了。 - maheshv13

2

如果你不想编辑xyz的值:

var xyz = "Hello";
console.log("outside function: " + xyz)
function abc() {
    var abc = " World!";
    console.log("inside function: " + xyz + abc) // output should be "Hello world!"
} abc();

如果你想编辑xyz的值:

var xyz = "Hello";
console.log("outside function: " + xyz)
function abc() {
    xyz += " World!";
    console.log("inside function: " + xyz) // output should be "Hello world!"
} abc();

谢谢!Christopher。 :) - maheshv13

2
尝试使用window。这将允许您访问全局声明的变量。 var xyz = window.xyz ..

1

为什么不直接将其作为参数传递?完全没有必要使用global变量。

var xyz = "Hello";
console.log("outside function: " + xyz)
function abc(xyz) {
    var xyzUpdated = xyz + "World!";
    console.log("inside function: " + xyzUpdated) // output should be "Hello world!"
} abc(xyz);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接