2014-08-27 70 views
0

我是新的使用jquery,我想問你怎麼稱呼這種聲明,我想添加一個If語句添加如果條件

btw。這裏的閱讀是布爾,我想改變,如果Read == trueread: 'read'而如果爲假變得unread: 'unread'

這是我原來的代碼:

​​3210

和我的試驗,但沒有成功:

var options = { 
     if(Read == true) { 
        id: ID, 
        read: 'read', 
        category: "projects", 
        message: Message 
         } 
     else { 
        id: ID, 
        unread: 'unread', 
        category: "projects", 
        message: Message 
      } 
    }; 

expected identifier or stringif單詞

在此先感謝

+0

告訴我們閱讀什麼..添加一些更多信息.. – 2014-08-27 07:54:55

+0

@AmirPopovich添加sir – 2014-08-27 07:56:53

+0

使用三元作爲選擇克勞迪克斯。此外,不要更改「讀/未讀」的屬性名稱,只有值(真/假,我會選擇我自己)。讓你的生活更容易獲得它。 – 2014-08-27 07:57:26

回答

2

使用三元運算:

(expression_to_test) ? (value_if_true) : (value_if_false) 

var options = 
    (Read == true) ? { 
         id: ID, 
         read: 'read', 
         category: "projects", 
         message: Message 
        } 
        : { 
         id: ID, 
         unread: 'unread', 
         category: "projects", 
         message: Message 
        } 
; 

注意

大括號{}不三元運算符語法的一部分。它們用於創建內聯對象。在上面的代碼中,如果Read == true那麼運算符返回由第一個大括號創建的對象。

+0

好吧,先生,我會嘗試 – 2014-08-27 07:57:21

+0

btw先生我只想問你叫什麼這種序列?有點新的 – 2014-08-27 07:58:33

+0

{}旨在創建一個對象。它們不是用於語法目的的。 – Claudix 2014-08-27 08:02:33

0

如果閱讀是一個布爾值,則:

var Read = false;  
var options = { 
     id: 12, 
     read: Read ? 'unread' : 'read', 
     category: "projects", 
     message: 'msg' 
    }; 

console.log(options); // {id: 12, read: "read", category: "projects", message: "msg"} 

Read = true; 
options = { 
     id: 12, 
     read: Read ? 'unread' : 'read', 
     category: "projects", 
     message: 'msg' 
    }; 

console.log(options); // {id: 12, read: "unread", category: "projects", message: "msg"} 

Fiddle

但在我看來,讀書是不是一個布爾值,因爲如果是,那麼你原來的代碼將工作:

var Read = false;  
var options = { 
     id: 12, 
     read: Read == true ? 'unread' : 'read', 
     category: "projects", 
     message: 'msg' 
    }; 

console.log(options); // {id: 12, read: "read", category: "projects", message: "msg"} 

Read = true; 
options = { 
     id: 12, 
     read: Read == true ? 'unread' : 'read', 
     category: "projects", 
     message: 'msg' 
    }; 

console.log(options); // {id: 12, read: "unread", category: "projects", message: "msg"} 

Fiddle

0

使用Claudix所說的三元運算符,但是;

如果沒有結構性差異,請不要更改「選項的結構」。區別在於「它是否讀取」=>應該由選項上的單個屬性表示。

var options = { 
       id: ID, 
       read: Read, 
       category: "projects", 
       message: Message 
       }; 

在你的代碼的任何地方,你現在可以做一個「簡單」,如果檢查它是否已被讀取。

if (options.read) { 
     // it was read 
    } else { 
     // it was not read yet. 
    } 

防止需要「未讀」屬性和「讀取/未讀」字符串比較。

相關問題