Javascript 如何为内置原型编写替换?

Javascript 如何为内置原型编写替换?,javascript,arrays,sorting,prototype,Javascript,Arrays,Sorting,Prototype,我正在使用一个Javascript解释器,它似乎提供了一个错误的Array.prototype.sort,我想替换它(至少出于测试目的) 我有一个函数mySort(array,comparator),但是如何使它成为像array.sort(comparator)那样工作的函数呢 我还需要提供一个默认的比较器,一个简单的是否返回ab+1:0够了吗 可能还有更多我不知道的问题 一个附带的问题:我的简单排序工作正常,但我很乐意用一些经过良好测试的代码来代替它 Array.prototype.sort=

我正在使用一个Javascript解释器,它似乎提供了一个错误的
Array.prototype.sort
,我想替换它(至少出于测试目的)

我有一个函数
mySort(array,comparator)
,但是如何使它成为像
array.sort(comparator)
那样工作的函数呢

我还需要提供一个默认的比较器,一个简单的
是否返回ab+1:0
够了吗

可能还有更多我不知道的问题

一个附带的问题:我的简单排序工作正常,但我很乐意用一些经过良好测试的代码来代替它

Array.prototype.sort=function(comp){ return mySort(this,comp);};
或使用自定义数组:

myArray=Object.create(Array.prototype);
myArray.sort=function(comp){ return mySort(this,comp);};

example=Object.create(myArray);
example.push(1,2);
example.sort();
或使用自定义数组:

myArray=Object.create(Array.prototype);
myArray.sort=function(comp){ return mySort(this,comp);};

example=Object.create(myArray);
example.push(1,2);
example.sort();

您可以覆盖默认原型,但在这种情况下这是个坏主意您可以覆盖默认原型,但在这种情况下这是个坏主意谢谢。这么简单没有自定义数组,排序函数可能已损坏(即使没有损坏,我也需要替换它以了解发生了什么)。++默认的比较器是什么?@ MaaTiNuS:你应该考虑没有任何东西能打败基于引擎(如C语言)的代码,关于性能…谢谢。这么简单没有自定义数组,排序函数可能已损坏(即使没有损坏,我也需要替换它以了解发生了什么)。++默认的比较器是什么?@ MaaTiNuS:你应该考虑没有任何东西能打败基于引擎的代码(在C语言中,像C语言)有关性能的代码…