【问题标题】:Javascript - cannot make static reference to non-static functionJavascript - 不能对非静态函数进行静态引用
【发布时间】:2011-02-16 07:49:41
【问题描述】:

我在一个数组上引用了 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);
        }
    }
}

【问题讨论】:

    标签: javascript arrays static-methods


    【解决方案1】:

    这不是 Javascript 引擎消息。听起来您正在使用提供语法检查等的 IDE。如果您使用的是 Eclipse,那么您可能会遇到 this bug,该问题最近已得到修复。

    【讨论】:

      【解决方案2】:

      抱歉,我没有直接的答案,但我可以提供这些说明...

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        相关资源
        最近更新 更多