2012-08-14 86 views
-2

什麼是下面的代碼之間的不同...簡單的jQuery真假問題

loop here{ 

    ..... 
    ..... 

    if($element.length == 0){ 

      return true; 
    } 
    .... 
    ..... 
} 


--------------------------------------------- 

loop here{ 

.... 
.... 
if($element.length == 0){ 


      return false; 
    } 
.... 
.... 

} 

不知道什麼是回TURE之間不同,在一個循環內返回false。非常感謝!

+5

這是一個詭計的問題嗎? – 2012-08-14 23:02:31

+6

一個使周圍函數的值爲'true',另一個使其'false'...這是非常基本的東西。代碼位於一個函數中,函數中任何位置執行的'return'都會從函數,循環或無循環中返回。 – Pointy 2012-08-14 23:02:43

+1

什麼尖尖的說,並且都將停止發生循環。 – 2012-08-14 23:03:22

回答

1

答案可能是,有時從javascript函數返回特定值可能會導致取消UI行爲或事件。

例如,如果您的HTML表單具有執行javascript函數的提交操作,那麼如果該函數返回false,則它將取消提交。如果該函數返回true,那麼它將允許提交完成其整個生命週期。

一個地方你可能想要這樣做,繼續我們的例子,如果表單提交操作在發送數據之前做了一些數據驗證。如果驗證未通過,它可能會顯示一條消息,然後返回false,因此用戶可以相應地更改其數據,然後再次嘗試提交。

1

第一個說如果元素的長度爲null,則返回true,否則返回false。現在在循環中(只是一個例子),如果你從元素中刪除字母(壞例子?:P),只要遇到這種情況:
對於第一個:
如果長度爲空,則返回true可能意味着循環必須停止,它將取決於循環的功能。
對於第二個,情況正好相反。

0

我假設你正在循環與.each()

然後return true;將導致循環繼續,而return false;將導致循環停止。

參考:http://api.jquery.com/each/