2010-05-06 94 views
2

我正在给JavaScript函数拼接()的阵列上的参考,我得到的错误:使用Javascript - 不能让静态引用非静态函数

“不能使静态参考非静态函数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); 
     } 
    } 
} 

回答

6

这不是Javascript引擎消息。这听起来像你正在使用提供语法检查等的IDE。如果您使用的是Eclipse,或许您正在运行this bug,这个问题已经得到了相当的解决。

3

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

  • 可能从速记$(function() { });受益于文件准备和[]数组字面
  • arrayName中的该功能没有定义,是否在别处定义?
  • 您需要关闭您的参数列表,你发送给$(document).ready()一个右括号)
  • 你缩进混乱
  • if语句只会立即运行线下它
相关问题