2013-01-24 61 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