0

这是js代码的一部分,我正在尝试检查这种情况如果它有数据但不是正确的类型或值怎么办? 它已经有了这个如果条件你们能告诉我如何在下面提供我的代码来检查它..

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;
        },
4

1 回答 1

2

这就是下划线的作用::

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中试试:

toString.call(new Date())
"[object Date]"
于 2013-09-18T19:17:12.520 回答