Javascript - 无法对非静态函数进行静态引用

时间:2010-05-06 09:38:35

标签: javascript arrays static-methods

我在数组上引用了Javascript函数splice(),我得到了错误:

“无法对非静态函数splice()”

进行静态引用

发生了什么 - 这是一个静态引用,是不是我引用了一个Array类的实例及其方法 - 这是如何静态的?

$(document).ready( function() {

var queryPreds = new Array();
var queryObjs = new Array();    

function remFromQuery(predicate) {
    for(var i=0; i<arrayName.length;i++ ) { 
        if(queryPreds[i]==predicate)
        queryPreds.splice(i,1);
        queryObjs.splice(i,1);
        }
    }
}

2 个答案:

答案 0 :(得分:6)

这不是Javascript引擎消息。听起来您正在使用提供语法检查等功能的IDE。如果你正在使用Eclipse,也许你正在遇到this bug,这是最近修复的。

答案 1 :(得分:3)

对不起,我没有直接回答,但我可以提供这些说明......

  • 可以从文档就绪的简写$(function() { });和数组文字的[]中受益
  • 该函数中的arrayName未定义,是否在别处定义?
  • 您需要使用右括号$(document).ready()
  • 关闭发送到)的参数列表
  • 你的缩进令人困惑
  • if语句只会在其下方运行