2013-01-24 59 views
2

我不知道如何解决这个问题。让我们假设我们有两个这样的功能:JSLint:跨职能交叉参考

JSLint会抱怨rebind_test2();未被定义之前它被访问。如果我在第一个函数上面移动rebind_test2(),它将再次抱怨rebind_test1();在它被访问之前没有被定义。有针对这个的解决方法吗?

function rebind_test1(){ 
    "use strict"; 
    $('#row').load('test/', function(result){ 
     rebind_test2(); 
    });  
} 

function rebind_test2(){ 
    "use strict"; 
    var i = 1; 
    rebind_test1(); 
} 
+1

这是一个相当恼人的警告;我不认为这两个答案都是理想的。 – Armand

回答

1

@ torazaburo的答案会工作,或者你可以假装函数声明第二个是“全球性”(好像它是在不同的文件中声明):

/*global rebind_test2 */ 
+0

谢谢,真的,这将工作,但它实际上是在同一个文件中声明。 ;)因此torazaburo可能是真正的解决方案? – Houman

+1

@Kave - 这取决于你想改变你的代码,还是只添加全局指令。两者都不是理想的...随你喜欢的任何一个去做! –

+0

这个解决方案似乎更容易。不需要重构+1 – Houman

2
var rebind_test2; 

function rebind_test1(){ 
    "use strict"; 
    $('#row').load('test/', function(result){ 
     rebind_test2(); 
    });  
} 

rebind_test2=function(){ 
    "use strict"; 
    var i = 1; 
    rebind_test1(); 
} 
+0

+1似乎正在工作。 :)我留下来看看是否还有其他想法。谢谢 – Houman