是没有发现问题,估计达不到效果
没有问题呀,你浏览器的事吧,呵呵!
ie9调试运行不行,var f = d.sort.call(c, Function("a,b", "return a > b?-1:1;"));
能解释下吗?
没有发现问题
function fe (d, c) {
var f = d.sort(function(a,b){
return a > b?-1:1;
});
for (var e = 0; e < f.length; e++) {
d.splice(f[e], 1)
}
return d;
}
var d = new Array(5,43,3,4,22,1);
alert(fe(d,3));
这里d本身就是数组,它有sort方法, 还用call做什么,这样没必要吧。
还有Function是构造函数,定义函数时最好不要用这个,因为它会再解析器,无形中增加内存与cpu负担。
这还都可以,毕竟没有什么错误,主要是d.sort.call(c, Function("a,b", "return a > b?-1:1;"));
而在调用时,fe(d,3),这个以就是3,是整数,它没有sort方法,会报错的。
call的第一个参数是它要执行的对象。