gpt4 book ai didi

Javascript函数全局变量未定义?

转载 作者:行者123 更新时间:2023-11-30 08:25:24 28 4
gpt4 key购买 nike

我想创建一些仪表,但我的 Gauge 对象仍未定义。

var doesntwork;
function create_gauge(name, id, min, max, title, label) {
name = new JustGage({
id: id,
value: 0,
min: min,
max: max,
donut: false,
gaugeWidthScale: 0.3,
counter: true,
hideInnerShadow: true,
title: title,
label: label,
decimals: 2
});
}
create_gauge(doesntwork, "g2", 0, 100, "Füllstand", "%");
console.log(doesntwork); //undefined

为什么?我不能将变量传递给函数吗?

最佳答案

不,您只传递值,不传递变量引用或指针。

对于这个简单的例子,返回似乎更合适。

var works;
function create_gauge(id, min, max, title, label) {
return new JustGage({
id: id,
value: 0,
min: min,
max: max,
donut: false,
gaugeWidthScale: 0.3,
counter: true,
hideInnerShadow: true,
title: title,
label: label,
decimals: 2
});
}
works = create_gauge("g2", 0, 100, "Füllstand", "%");
console.log(works);

但是,我确信这可能过于简化了。 JS 中有“引用类型”,因此如果 works 持有一个对象,您可以传递对象引用的值并让函数填充对象的属性。

var works = {};
function create_gauge(obj, id, min, max, title, label) {
obj.data = new JustGage({
id: id,
value: 0,
min: min,
max: max,
donut: false,
gaugeWidthScale: 0.3,
counter: true,
hideInnerShadow: true,
title: title,
label: label,
decimals: 2
});
}
create_gauge(works, "g2", 0, 100, "Füllstand", "%");
console.log(works.data);

关于Javascript函数全局变量未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431313/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com