地块我看到这样为什么我们应该检查被定义的变量var m = m ||函数(){}
Common.deepCopy = Common.deepCopy || function(oldObject) {
return $.extend(true, {}, oldObject);
};
定义什么是定义方法是这样的对象的需求的方法的库。
因为js文件只会被执行一次,所以以前没有定义deepCopy的机会。
地块我看到这样为什么我们应该检查被定义的变量var m = m ||函数(){}
Common.deepCopy = Common.deepCopy || function(oldObject) {
return $.extend(true, {}, oldObject);
};
定义什么是定义方法是这样的对象的需求的方法的库。
因为js文件只会被执行一次,所以以前没有定义deepCopy的机会。
情况并非总是如此。你永远不知道JS文件是否包含两次或是否被重新初始化。最好检查对象是否存在,如果存在则分配它。否则创建一个新的对象
这是为了防止它已经在另一个文件中定义,或脚本运行多次。
通常这是为了检查环境中是否已经存在某个东西,如Array.prototype.indexOf
。它在oldIE中不存在。
var indexOf = [].indexOf ? fn : fn2
现在您可以将fn定义为使用本机indexOf,然后将fn2用于不支持它的环境。
这样更好,所以每次调用函数时都不必检查 - 而是在您定义它时进行检查。
如果另一个库实现了这个确切的方法会怎样?然后检查是有道理的,伊莫.. – 2011-04-12 06:10:35