为了账号安全,请及时绑定邮箱和手机立即绑定

什么使用函数不要用括号

document.write(myarr.sort(sortNum));

正在回答

3 回答

之前写了一个详细的,但是你一直没回复我,就不知道把那个文件扔哪里去了,这个比较粗糙,你先看着,有什么不懂得,可以私信我,下面这个是可以在浏览器中运行的

var myarr=[1,5,6,7,3,4];

//用prototype自定义的排序方法

Array.prototype.my_sort=function(fn)//fn就是传入的函数,之后会进行调用

{

for(var i=0;i<this.length-1;i++)//这一段主要使用了冒泡排序

{

for(var j=i+1;j<this.length;j++)

{

if(fn(this[i],this[j])>0)//就在这里进行调用,返回值小于0的时候,说明需要交换

{

var temp=this[i];

this[i]=this[j];

this[j]=temp;

}

}

}

return this;//返回这个已经排序好的数组

}

function sortNum(a,b) {

       return b - a ;


   }


 document.write(myarr.my_sort(sortNum));



0 回复 有任何疑惑可以回复我~
var myarr=[1,5,6,7,3,4];
Array.prototype.my_sort=function(fn)
{
	for(var i=0;i<this.length-1;i++)
	{
		for(var j=i+1;j<this.length;j++)
		{
			if(fn(this[i],this[j])>0)//返回值小于0的时候,说明需要交换
			{
				var temp=this[i];
				this[i]=this[j];
				this[j]=temp;
			}
		}
	}
	return this;
}
function sortNum(a,b) {
       return b - a ;

   }
 console.log(myarr.my_sort(sortNum));


1 回复 有任何疑惑可以回复我~
因为JavaScript中是可以传入函数当做参数的,这个函数在sort中还是会被调用的,当然是带括号的,如果你想听的话,我可以稍微深入的模拟一下这个过程
0 回复 有任何疑惑可以回复我~
#1

慕用9564390

请模拟下,谢谢
2017-05-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

什么使用函数不要用括号

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信