第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js怎樣在一個函數(shù)中執(zhí)行另一個函數(shù)

js怎樣在一個函數(shù)中執(zhí)行另一個函數(shù)

瘋小蕾 2017-03-22 15:31:00
//比如我想要一個檢測算法的時間函數(shù),并且把這個函數(shù)封裝起來,以便其他函數(shù)的調用,詳細說明:這里我定義了兩個數(shù)組,一個是10000以內的自然數(shù)數(shù),另一個是10000以內能被7整除的數(shù),然后我把兩個數(shù)組用一種算法(這里用最笨的雙遍歷那種算法)把兩個數(shù)組中的相同元素傳入另一個數(shù)組。最后調用時間檢測函數(shù),查看這種算法的時間,但是有一個問題,就是如何在時間檢測函數(shù)的內部去執(zhí)行他的參數(shù)(cufunc),也就是那個要檢測的函數(shù)。下面是代碼//這里是時間檢測函數(shù)function Time_detection(cufunc){ var start = new Date().getTime();//起始時間? console.log(cufunc);//這里并不能執(zhí)行那個函數(shù)??!?var end = new Date().getTime();//接受時間return (end - start)+"ms";//返回函數(shù)執(zhí)行需要時間}function main(arr1,arr2){ var arrn=new Array(); var k=0; for(i=0;i<arr1.length;i++){ for(j=0;j<arr2.length;j++){ if(arr1[i]==arr2[j]){ arrn.push(arr2[j]); } } }return arrn;}function matharr(){ var b=new Array;? for(i=0;i<10000;i++){ b[i]=i;} return b;?}function matharr2(){ var b=new Array; for(i=0;i<10000;i++){ if(i%7==0){b[i]=i} } return b;?}?var time=Time_detection(main(matharr(),matharr2()));? document.write(time)//然后如果知道更好的檢測函數(shù)執(zhí)行時間的方法分享給我更好!謝謝!
查看完整描述

1 回答

已采納
?
Caballarii

TA貢獻1123條經(jīng)驗 獲得超629個贊

console.log(cufunc);//這里并不能執(zhí)行那個函數(shù)?。?/pre>

這一行,首先分號寫成中文的了會報錯,其次,執(zhí)行函數(shù)需要加括號,cufunc();

這樣還是出不了結果,是因為

var?time=Time_detection(main(matharr(),matharr2()));

你寫的這句話里面,main(matharr(),matharr2())這樣寫得到的結果是main函數(shù)里return的那個值,而不是main函數(shù)本身,你需要在那個計時函數(shù)里執(zhí)行main,那就應該把main函數(shù)本身傳進去

var?time=Time_detection(main)

這樣,感受一下

var?time=Time_detection(main())

這樣和上面的區(qū)別,但main函數(shù)還需要參數(shù),那我們需要用到bind方法

var?time=Time_detection(main.bind(this,matharr(),matharr2()));

這樣就可以得到結果了

查看完整回答
反對 回復 2017-03-22
  • 1 回答
  • 1 關注
  • 3596 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號