2014-10-20 63 views
-1

我檢查,如果cookie的值是未定義或爲空,但古怪這並沒有真正的工作檢查未定義或爲空

這裏就是我試圖

function check(val){ 
    if($.cookie(val) === "undefined" || $.cookie(val) === "null"){ 
    return "1"; 
    } 
    return $.cookie(val); 
} 

所以,即使我的cookie擁有價值null它會打印出null而不是1

+0

當你說「它不工作」時,你能更具體嗎?你在控制檯輸出上遇到什麼錯誤?你有沒有嘗試跟蹤調試JavaScript? – 2014-10-20 18:04:19

+0

我已經提到 – user4142365 2014-10-20 18:05:40

+0

以上沒有其他....你沒有。什麼不工作....什麼是錯誤....你有沒有試過跟蹤調試? – 2014-10-20 18:06:22

回答

0

請檢查是否包含jquery cookie庫,這是最常見的原因。

3

這是因爲您正在使用引號。換句話說,"undefined" === undefined是錯誤的。

if($.cookie(val) === undefined || $.cookie(val) === null){ //this would be more apropriate 
+0

,它仍然會返回null而不是1 – user4142365 2014-10-20 18:06:51

+0

@ user4142365 * *會讓我在句子中感到困惑。你測試過了嗎?因爲它會**返回'1'而不是null。如果它**沒有返回null而不是'1',**可以**你做一個例子嗎?因爲它**應該**工作。 – 2014-10-20 18:11:16

+0

對不起,我在我的代碼中有一個錯字。我正在檢查typeof ..現在工作。謝謝@travis&karl – user4142365 2014-10-20 18:23:39