window === ([]).sort.call();
window === ([]).reverse.call();
([]).concat.call()[0] === window
可以将这些array的方法重写,避免它在运行时的this指向window,如重写sort方法:
Array.prototype.sort = (function(sort) { return function(callback) {
return (this == window) ? null : (callback ? sort.call(this, function(a,b) {
return callback(a,b)}) : sort.call(this));
}})(Array.prototype.sort);
No comments:
Post a Comment