gpt4 book ai didi

javascript - jQuery 函数中的全局变量?

转载 作者:行者123 更新时间:2023-11-28 20:50:07 25 4
gpt4 key购买 nike

我需要从文件加载一些价格(服务器没有设置数据库):

PriceChicken:2.16
PriceRibs:1.84
PriceBrisket:14.00
PricePulledPork:12.00
PriceSides:5.00

像这样的 JavaScript block :

var price = {
"PriceChicken": "1",
"PriceRibs": "1",
"PriceBrisket": "1",
"PricePulledPork": "1",
"PriceSides": "1"
};

function loadVars(){
console.log(price["PriceChicken"]);
$.get("price.txt", function(data){
dataarray = data.split("\n");
for(i = 0;i < dataarray.length; i++){
var line = dataarray[i].split(":");
console.log(price[line[0]]);
price[line[0]] = line[1];
console.log(price[line[0]]);
}
});
console.log(price["PriceChicken"]);
}
loadVars();

不幸的是,$.get 部分内部的函数似乎看不到全局价格变量。
因此,对于第一项,它显示:1,未声明,2.16,然后当它离开 $.get 函数时再次显示 1。
有没有更好的方法让全局变量发挥作用,或者有更好的方法来提取这些信息?

编辑:我很愚蠢,没有检查我所有的变量。作为我的忏悔,我将以正确的方式去做并学习使用 JSON。

最佳答案

$.get 调用是异步的。您将其视为同步调用。

在处理文件之前调用 console.log(price["PriceChicken"]); 行。

最好使用 JSON 格式。

prices.json

{
"PriceChicken" : 2.16,
"PriceRibs" : 1.84,
"PriceBrisket" : 14.00,
"PricePulledPork" : 12.00,
"PriceSides" : 5.00
}

JavaScript

var price = {};

$.getJSON("prices.json", function(data){
$.extend(price,data);
});

关于javascript - jQuery 函数中的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640931/

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