2010-05-06 100 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語句只會立即運行線下它
相關問題