参看here(chinese),该代码可用于测试 Chrome。 www.un.org/Depts/DGACM/index_french.htm
正如该条所解释的, happen优化了“.sort(......)”方法,使“代码”[0、0]sort(......)呼吁t履行特定的比较职能。
从该条来看,“.sort(......)”的 Chrome执行就是:
function sort(comparefn) {
var custom_compare = (typeof(comparefn) === function );
function Compare(x,y) {
if (x === y) return 0;
if (custom_compare) {
return comparefn.call(null, x, y);
}
...
}
由于0 ==0
是真实的,它赢得了t打comparefn
。
在j Query一案中,它赢得了全球变量代码至false
。
<>strong>EDIT: Sizzle s source Code, here,例如(在称为“Sizzle CSS 选择性发动机”的黄色部分上,请参看以下解释:
var chunker = /((?:((?:([^()]+)|[^()]+)+)|[(?:[[^[]]*]|[ "][^ "]*[ "]|[^[] "]+)+]|\.|[^ >+~,([\]+)+|[>+~])(s*,s*)?((?:.|
|
)*)/g,
done = 0,
toString = Object.prototype.toString,
hasDuplicate = false,
baseHasDuplicate = true;
// Here we check if the JavaScript engine is using some sort of
// optimization where it does not always call our comparision
// function. If that is the case, discard the hasDuplicate value.
// Thus far that includes Google Chrome.
[0, 0].sort(function(){
baseHasDuplicate = false;
return 0;
});
Look。