日期:2014-05-16  浏览次数:20498 次

这段代码的理解
   function isCompatible(other) {
        if (other === false || !Array.prototype.push || !Object.hasOwnProperty || !document.createElement || !document.getElementsByTagName) {
            return false;
        }
        return true;
    };

上边是确定当前浏览器是否与整个库兼容的代码
然后通过 if(isCompatible()){//执行需要的代码} 来使用
我的问题是 isCompatible声明的时候有参数other 而调用的时候什么都不传 那other的值是undefined 
那other === false的作用是什么????
代码是出自《Javascript DOM高级程序设计》


 

------解决方案--------------------
后门么~~~

在你传了 flase后 就必定会 返回 false
但是又 觉得没什么意义

这样一个参数就是 后门
我不需要考虑实际环境  我直接就要你返回false

为什么要做个?

如果没什么恶意的话 基本就是为了debug用
因为 某种情况下 我想在返回true的环境中 测试下返回false的 情况