我正在尝试执行以下操作:
var myVariable = {};
function() {
//Add key/value to myVariable
}
//Using the keys/values of myVariable;
但似乎键/值只能在函数范围内访问。 我应该怎么做才能修改函数内部的变量并且能够在函数之外使用它?是否必须使用全局变量?
编辑:将声明从myVariable = []更改为{}解决了这个问题。声明和键/值的使用之间存在语法错误。
答案 0 :(得分:-2)
首先,您的代码包含一些语法错误。
您可以在函数内更改myVariable
的值,因为它是一个全局变量,可供函数访问。
您遇到的问题可能出在您调用该功能的地方。
var myVariable = {};
function changeMyVariable() {
myVariable.mykey = 'xyz';
}
console.log(myVariable);//before calling function
changeMyVariable();
console.log(myVariable);//after calling function

答案 1 :(得分:-2)
var myArray = []; // Global empty array.
function myFunction() {
myArray.push({aKey:"aValue"}); // Add a key and a value to the array.
console.log(myArray); // Print the array in the console.
}
myFunction(); // Call the function, otherwise nothing will happen.
答案 2 :(得分:-2)
您能否添加一个您想要完成的示例? 你在问题中解释的是正确的,并且是范围在javascript中的工作方式。
例如:
var myVariable = [];
console.log(myVariable); // length = 0
function updateVar() {
myVariable[0] = 1;//Add key/value to myVariable
}
updateVar(); // call update
console.log(myVariable); // length = 1
正如您在调用updateVar函数后看到的那样,您的数组中有1个项目。