javascript - 在javascript中推送json数组

标签 javascript jquery arrays push

我正在自定义一些 jQuery 插件,但出现一条我无法理解的错误消息

        var totHistory=0;
        var positions = new Array();
        $('.someclass').each(function(index){
           var tmp = $(this).val();
           addHistory({id:tmp});
        });

        function addHistory(obj)
        {
            /* Gets called on page load for each comment, and on comment submit */
            totHistory++;
            positions.push(obj.id);
        }

.someClass 的第一次迭代中,我收到这条消息

Cannot call method 'push' of undefined 

谁能解释一下为什么?

最佳答案

您应该将 positions 作为参数发送,或者在 addHistory 可访问的范围内声明它。你不应该在没有 var 关键字的情况下声明它,因为这被认为是一种不好的做法。

试试我的第一个建议,因为这是我唯一可以在不知道你的其他 js 代码结构的情况下帮助你的建议。

关于javascript - 在javascript中推送json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030275/

相关文章:

javascript - jquery:如果列标题具有类,则更改列的背景颜色

c++ - 通过指针将 char 数组传输到另一个临时数组指针

javascript - [] 与 [] 不同

javascript - 如何使用css使高度等于宽度

javascript - javascript箭头函数奇怪的未定义错误

javascript - 在字符串的开头和结尾添加空格

javascript - 选中所有复选框并启用按钮

javascript - 使用变量的语句声明?

javascript - 如何在EJS中按MySQL值显示不同的 block ?

c - 随机打乱一组字符串