2014-02-15 81 views
2

我想製作一個動態過濾方法,但不知道如何動態包含條件。如何創建動態if條件

var do_test_1 = true, 
    do_test_2 = false, 
    do_test_3 = true; 

現在有三種測試:

if (foo == bar) // test 1 
if (john == doe) // test 2 
if (jane == doe) // test 3 

現在我想建立一個動態的,如果條款的基礎上,do_test瓦爾。

實際使用情況

我有任務的列表,並希望對其進行過濾:

  • 如果「分配給我的」過濾器是積極的,它應該只返回的任務是被分配給我。
  • 如果「高優先級」過濾器和「分配給我」過濾器處於活動狀態,它應只返回分配給我的具有高優先級的任務。
  • ...等等...

我與filter方法發揮各地,但我只把它與一個或邏輯工作(分配給我或演出任務具有高優先級) :

var $show = $tasks.filter(function(index, task) { 
    var $task = $(task); 
    return ((task.data('assigned') && filters['mytasks']) || (task.data('priority') == 3 && filters['priority'])) 
}); 

回答

2

使用eval()功能

for(var i=0;i<3;i++){ 
    var f=i+1; 
    eval("if(f==i+1){alert(i);}"); 
} 

演示:http://jsfiddle.net/ke42b/2/

這只是關於如何創建動態條件的提示。現在你知道如何創建動態條件。

根據您的需求進行編碼!