关于javascript:如果它有数据但没有正确的类型或值

if it has data but not of the right type or value

这里是js代码的一部分,我试图检查这个条件,如果它有数据但没有正确的类型或值?
它已经有了这个,如果条件你们可以告诉我如何chk它
在下面提供我的代码..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
setcurrentFruit : function (fruitName, currentFruit) {
            WorklistStorage.set(fruitName, currentFruit, false);
        },
        getcurrentFruit : function (fruitName) {
            var currentFruit = unescapeJSON(WorklistStorage.get(fruitName, false));
            **if (currentFruit =="undefined" || typeof currentFruit =="undefined") {**
                var date = new Date();
                currentFruit = date.toString();
                wholeQueue.setcurrentFruit(fruitName, currentFruit);
                //console.log("poppppp");
            }
            currentFruit = new Date(currentFruit);
            return currentFruit;
        },


这是下划线所做的::

1
2
3
if (toString.call(currentFruit) === '[object String]') {
  // is string
}

http://underscorejs.org/underscore.js

搜索toString

这是一个jsfiddle:http://jsfiddle.net/btipling/U7PRq/

我的jsfiddle使用forEach,但并不适用于所有浏览器。

请注意,您可以将[object String]替换为[object Date]或其他类型。 请参阅下划线的源代码,或在console.log中尝试:

1
2
toString.call(new Date())
"[object Date]"