javascript - 是什么导致错误 "Uncaught TypeError: number is not a function"

标签 javascript

我有一个更新表单的 onchange 事件,在更新过程中它调用一个函数来计算运费。我不确定为什么,但是当我尝试调用该函数时出现以下错误:

未捕获的类型错误:数字不是函数

shipping 函数如下所示:

function shipping( weight )
{
    var flat

    switch( weight )
    {
        case 1:
        case 2:
        case 3:
            flat = 32.00;
            break;

        case 4:
            flat = 18.50;
            break;

        case 5:
            flat = 15.80;
            break;

        case 6:
            flat = 14.00;
            break;

        case 7:
            flat = 12.71;
            break;

        case 8:
            flat = 11.75;
            break;

        case 9:
            flat = 11.00;
            break;

        case 10:
            flat = 10.40;
            break;

        case 11:
            flat = 9.91;
            break;

        case 12:
            flat = 9.50;
            break;

        case 13:
            flat = 9.15;
            break;

        case 14:
            flat = 8.86;
            break;

        case 15:
            flat = 8.86;
            break;

        case 16:
            flat = 8.38;
            break;

        case 17:
            flat = 8.18;
            break;

        case 18:
            flat = 8.00;
            break;

        case 19:
            flat = 7.84;
            break;

        case 20:
            flat = 7.70;
            break;

    } // switch

    var flat_fee = flat * weight;
    var mile_fee = distance * 0.90;

    var shipping_fee = flat_fee + mile_fee;
    simpleCart.shippingTest = shipping_fee;
    return shipping_fee;
} // shipping

我现在正在传递 1。变量 distance 来自在此函数运行之前完成的 ajax 调用。该函数如下所示:

function get_distance( zip )
{

    $.getJSON(
        'distance.php',
        { zip:zip },
        function(json)
        {
            distance = json 
        })

} // get_distance

我已检查以确保变量 distance 已设置。

控制台显示未捕获的类型错误发生在我调用 shipping(1) 的那一行。关于为什么会发生这种情况有什么想法吗?

最佳答案

您是否在任何地方使用 shipping 作为变量?听起来 function shipping 正在通过将其用作数值为 1variable 来覆盖。

它不在您发布的代码中(您提到的对 shipping(1) 的调用也不在其中)。

关于javascript - 是什么导致错误 "Uncaught TypeError: number is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332137/

相关文章:

javascript - 虚拟滚动 - 没有 Ajax

javascript - 年份未定义

java - 获取不同区域用户当前客户端日期和时间的方法

javascript - 如何更改 ion-item 的文本颜色

javascript - 尝试理解这段代码(发布/订阅库)

javascript - 为什么新版 Dropbox 可以在不刷新页面的情况下更改 URL?

javascript - 通过滚动使 select2 元素保持固定大小?

javascript - 使用 bootstrap 进行实时过滤器搜索

javascript - 选择元素和后续文本

javascript - 在javascript中将SVG(包含动画)保存为不带 Canvas 的PNG文件