function fun(){
var a=10;
var b=20;
document.getElementById("output1")=a;
document.getElementById("output2")=b;
}
这是一个JavaScript函数
var Data = [{label="1", value=output1},{label="2", value=output2}];
我希望在数组Data中使用a和b的值。但是我无法访问它。希望一个人能尽快解决这个问题。
答案 0 :(得分:1)
在函数外定义a
和b
。调用该函数以为其分配值。在Data
数组而不是=
中,使用:
为对象中的属性赋值
var a;
var b;
function fun(){
a=10;
b=20;
// document.getElementById("output1")=a;
// document.getElementById("output2")=b;
}
fun()
var Data = [{label:"1", value:a},{label:"2", value:b}];
console.log(Data)
答案 1 :(得分:0)
a
和b
对于函数来说是本地的-您必须在函数外部定义它们。另外,请确保您的对象属性采用key: value
而不是key = value
的格式:
var a, b;
function fun() {
a = 10;
b = 20;
document.getElementById("output1").innerText = a;
document.getElementById("output2").innerText = b;
}
fun();
var Data = [{
label: "1",
value: a
}, {
label: "2",
value: b
}];
console.log(Data);
<p id="output1"></p>
<p id="output2"></p>
答案 2 :(得分:0)
宁可更改现有变量范围,
您可以从fun中返回值,然后在创建数据的另一个函数中使用它;
function fun(){
var a=10;
var b=20;
//document.getElementById("output1")=a;
//document.getElementById("output2")=b;
return [a, b];
}
var ab = fun();
var Data = [{label: "1", value: ab[0]},{label: "2", value: ab[1]}];
console.log(Data)