是否正确评估以下语法?

时间:2012-05-24 16:38:31

标签: javascript if-statement

我想知道以下语法是否按照我的意思进行评估:

Cluster.prototype.test_json_availability = function() {
    return Modernizr.addTest('test_json', function() {
    return (typeof $.browser.msie !== 'undefined' && $.browser.msie === true && $.browser.version < 7 && typeof window.JSON === 'undefined') ? false : true;
    });
};

我们说我使用的是MS浏览器,这意味着它会返回true吗?或者我做错了吗?

1 个答案:

答案 0 :(得分:1)

您应该通过应用De Morgan's laws来转换条件:

function test_json() {
    return typeof $.browser.msie === 'undefined'
      || $.browser.msie !== true
      || $.browser.version > 6
      || typeof window.JSON !== 'undefined';
}

这将简化条件,您将能够找到问题的答案。