0

我想知道以下语法是否像我认为的那样评估:

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 吗?还是我做错了?

4

1 回答 1

1

您应该通过应用德摩根定律来改变条件:

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

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

于 2012-05-24T17:27:46.197 回答