JavaScript函数只工作一次

JavaScript函数只工作一次,javascript,Javascript,我有一个JavaScript函数,它在更改时被触发。它所做的是从一个输入字段中获取值,然后将其添加到另一个字段中输入的值中,然后在另一个字段中显示答案 第一次它工作正常,但当我输入一个新值并离开该字段时,出现了一个错误:TotalPurchasePrice不是一个函数 有人能告诉我为什么这只能用一次吗?这行: TotalPurchasePrice = (BuyinPrice * 1) + (TopupAmount * 1); 将TotalPurchasePrice函数替换为一个数字。那么它不是

我有一个JavaScript函数,它在更改时被触发。它所做的是从一个输入字段中获取值,然后将其添加到另一个字段中输入的值中,然后在另一个字段中显示答案

第一次它工作正常,但当我输入一个新值并离开该字段时,出现了一个错误:TotalPurchasePrice不是一个函数

有人能告诉我为什么这只能用一次吗?

这行:

TotalPurchasePrice = (BuyinPrice * 1) + (TopupAmount * 1);
将TotalPurchasePrice函数替换为一个数字。那么它不是一个函数,因此你有一个错误

使用不同的变量名:

var totalPrice = (BuyinPrice * 1) + (TopupAmount * 1);
document.getElementById('tTotalPurchasePrice').value = totalPrice;
您也可以简单地添加var关键字,但这会使代码混乱

降低此类错误发生概率的一种方法是在命名函数和变量时遵循最佳实践。在这里,您应该将函数命名为动词,以表示动作而不是值。

此行:

TotalPurchasePrice = (BuyinPrice * 1) + (TopupAmount * 1);
将TotalPurchasePrice函数替换为一个数字。那么它不是一个函数,因此你有一个错误

使用不同的变量名:

var totalPrice = (BuyinPrice * 1) + (TopupAmount * 1);
document.getElementById('tTotalPurchasePrice').value = totalPrice;
您也可以简单地添加var关键字,但这会使代码混乱


降低此类错误发生概率的一种方法是在命名函数和变量时遵循最佳实践。在这里,您应该将函数命名为动词,以表示动作而不是值。

您在这里混淆了JavaScript和VBScript

要返回值,请使用return关键字:

那么在功能外有这样一行:

document.getElementById('tTotalPurchasePrice').value = TotalPurchasePrice(BuyinPrice, TopupAmount);

您在这里混淆了JavaScript和VBScript

要返回值,请使用return关键字:

那么在功能外有这样一行:

document.getElementById('tTotalPurchasePrice').value = TotalPurchasePrice(BuyinPrice, TopupAmount);

在您的情况下,在函数中赋值而不使用var TotalPurchasePrice表示该变量是全局变量

由于可以将函数声明编写为:var TotalPurchasePrice=functionBuyinPrice,TopupAmount{},因此您只需重写它

您可以重命名函数中的变量,也可以在其前面添加var语句,如:


var TotalPurchasePrice=BuyinPrice*1+TopupAmount*1

在您的情况下,在函数中指定变量的值而不使用var TotalPurchasePrice表示该变量是全局变量

由于可以将函数声明编写为:var TotalPurchasePrice=functionBuyinPrice,TopupAmount{},因此您只需重写它

您可以重命名函数中的变量,也可以在其前面添加var语句,如:

var TotalPurchasePrice=BuyinPrice*1+TopupAmount*1