Javascript - не может сделать статическую ссылку на нестатическую функцию - PullRequest
2 голосов
/ 06 мая 2010

Я делаю ссылку на функцию Spice () 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);
        }
    }
}

Ответы [ 2 ]

6 голосов
/ 06 мая 2010

Это не сообщение движка Javascript.Похоже, вы используете IDE, которая обеспечивает проверку синтаксиса и тому подобное.Если вы используете Eclipse, возможно, вы столкнулись с этой ошибкой , которая была недавно исправлена.

3 голосов
/ 06 мая 2010

Извините, у меня нет прямого ответа, но я могу предложить эти заметки ...

  • Может использоваться сокращение $(function() { }); для готового документа и [] для литерала массива
  • arrayName в этой функции не определено, оно определено где-то еще?
  • Вам необходимо закрыть список аргументов, который вы отправляете на $(document).ready() с закрывающей скобкой )
  • Ваш отступник сбивает с толку
  • Этот оператор if будет только запускать строку непосредственно под ним
...