Javascript函数第一次运行,但赢得了';又来了

Javascript函数第一次运行,但赢得了';又来了,javascript,function,Javascript,Function,在这背后,还有另一个函数监听HTML下拉列表中的更改。当发生更改时,JavaScript调用costs函数并输入新变量,这将重新计算成本 但是,在第一次运行此命令后,代码将不会再次运行。我之所以知道这一点,是因为只有在第一次调用函数时才会出现“我正在运行”警报 知道我忽略了什么吗 function costs(f, p) { window.alert("I AM RUNNING"); costs = [10500, 33950, 33950, 22576, 225

在这背后,还有另一个函数监听HTML下拉列表中的更改。当发生更改时,JavaScript调用costs函数并输入新变量,这将重新计算成本

但是,在第一次运行此命令后,代码将不会再次运行。我之所以知道这一点,是因为只有在第一次调用函数时才会出现“我正在运行”警报

知道我忽略了什么吗

function costs(f, p) {
        window.alert("I AM RUNNING");
        costs = [10500, 33950, 33950, 22576, 22576, 22576, 39324, 39324, 39324, 39324, 39324, 0];
        models = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "\u00a0"];
        ind = models.indexOf(f);
        a = ((p/100)*costs[ind]).toFixed(2);
        b = a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
        c = "$"+b;
        return c;
    };

谢谢

您正在第行的函数中重新定义
成本

costs = [10500, 33950, 33950, 22576, 22576, 22576, 39324, 39324, 39324, 39324, 39324, 0];

使用不同的变量名。

您能在问题中提供完整的代码示例吗?请查看开发人员工具日志(大多数浏览器中为F12),查看函数是否有错误。更改名称只会隐藏错误。他应该声明内部变量,而不是使用隐式全局变量。谢谢,我很沮丧地忽略了这样一个愚蠢的错误