摘要:定義一個(gè)函數(shù)它設(shè)置一個(gè)節(jié)點(diǎn)為黃色然后把它漸變成白色不想當(dāng)廚子的畫(huà)家不是一個(gè)好老師郭德綱根據(jù)書(shū)上的例子有感而發(fā)自己用遞歸也寫(xiě)了一個(gè)類似的使用記憶功能技巧編寫(xiě)斐波那契數(shù)列得到的總數(shù)原例一普通遞歸的斐波那契數(shù)列共調(diào)用了函數(shù)多次升級(jí)
1.定義一個(gè)函數(shù),它設(shè)置一個(gè)DOM節(jié)點(diǎn)為黃色,然后把它漸變成白色
var fade = function (node) { var level = 1; var step = function () { var hex = level.toString(16); node.style.backgroundColor = "#FFFF" + hex + hex; if(level< 15) { level +=1; setTimeout(step,100); } } setTimeout(step,100); } fade(document.body);
不想當(dāng)廚子的畫(huà)家,不是一個(gè)好老師------郭德綱
根據(jù)書(shū)上的例子,有感而發(fā),自己用遞歸也寫(xiě)了一個(gè)類似的 function fade(sum,node) { var hex = sum.toString(16); if(sum<16) { node.style.backgroundColor = "#FFFF"+ hex +hex; return setTimeout(function(){ fade(sum+1,node) },200) } } fade(1,document.body);2.使用記憶功能技巧,編寫(xiě)斐波那契數(shù)列,得到10的總數(shù)55
原例一:普通遞歸的斐波那契數(shù)列,共調(diào)用了函數(shù)450多次 function feibo(n){ return n < 2 ? n: feibo(n-1) + feibo(n-2); } feibo(10); 升級(jí)版:使用記憶功能技巧,減少函數(shù)調(diào)用次數(shù),加速得到運(yùn)算結(jié)果,縮短時(shí)間,共調(diào)用函數(shù)不到30次 function feibo2(n) { var memo = [0,1]; // 用于存放每次的運(yùn)算結(jié)果的數(shù)組 var result = memo[n]; // 當(dāng)前運(yùn)算結(jié)果 if(typeof result !=="number") { //如果記憶數(shù)組里沒(méi)有,就計(jì)算 result = feibo2(n-1) + feibo2(n-2); memo[n] = result;// 把這次結(jié)果存放到記憶結(jié)果的數(shù)組里,下次直接獲取,就不用再次計(jì)算了 } return result; } feibo2(10);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/109583.html
摘要:需求頁(yè)面某個(gè)模塊的文字內(nèi)容是動(dòng)態(tài)的可能是幾個(gè)字也可能是一句話然后希望文字少的時(shí)候居中顯示文字超過(guò)一行的時(shí)候居左顯示該如何實(shí)現(xiàn)呢核心代碼如下需求展開(kāi)收起帶有滑動(dòng)效果核心代碼如下一個(gè)足夠大的最大高度值需求鼠標(biāo)移動(dòng)到文字上方時(shí)文字被替 1.需求:頁(yè)面某個(gè)模塊的文字內(nèi)容是動(dòng)態(tài)的,可能是幾個(gè)字,也可能是一句話.然后,希望文字少的時(shí)候居中顯示,文字超過(guò)一行的時(shí)候居左顯示.該如何實(shí)現(xiàn)呢? /**核心...
想要做到就要有更多的學(xué)習(xí),你知道為什么React不把他們?cè)O(shè)為默認(rèn)方法#useEvent是一個(gè)剛剛提案的原生Hook,還處于RFC。現(xiàn)在我們就一起來(lái)討論下 RFC:Request for Comments 提案應(yīng)用的還十分廣泛 我們先看看在沒(méi)有 useEvent 會(huì)出現(xiàn)的情況: functionChat(){ const[text,setText]=useState(''...
摘要:注釋是代碼中最常見(jiàn)的組成部分它們是另一種形式的文檔也是程序員最后才舍得花時(shí)間去寫(xiě)的但是對(duì)于代碼的總體可維護(hù)性而言注釋是非常重要的一環(huán)打開(kāi)一個(gè)沒(méi)有任何注釋的文件就好像趣味冒險(xiǎn)但如果給你的時(shí)間有限這項(xiàng)任務(wù)就變成了折磨適度的添加注釋可以解釋說(shuō)明代 注釋是代碼中最常見(jiàn)的組成部分.它們是另一種形式的文檔,也是程序員最后才舍得花時(shí)間去寫(xiě)的.但是,對(duì)于代碼的總體可維護(hù)性而言,注釋是非常重要的一環(huán).打...
JavaScript在創(chuàng)建變量(數(shù)組、字符串、對(duì)象等)是自動(dòng)進(jìn)行了分配內(nèi)存,而且當(dāng)它沒(méi)有被使用的狀態(tài)下,會(huì)自動(dòng)的釋放分配的內(nèi)容;其實(shí)這樣基層語(yǔ)言,如C語(yǔ)言,他們提供了內(nèi)存管理的接口,比如malloc()用于分配所需的內(nèi)存空間、free()釋放之前所分配的內(nèi)存空間。 釋放內(nèi)存的過(guò)程稱為垃圾回收,例如avaScript這類高級(jí)語(yǔ)言可以提供了內(nèi)存自動(dòng)分配和自動(dòng)回收,其實(shí)這個(gè)自動(dòng)儲(chǔ)存不會(huì)占用太多空間...
閱讀 2915·2021-11-24 09:38
閱讀 3524·2021-11-23 09:51
閱讀 996·2021-09-09 11:52
閱讀 4044·2021-08-11 11:18
閱讀 1120·2019-08-30 14:05
閱讀 3238·2019-08-30 11:23
閱讀 1775·2019-08-29 17:02
閱讀 1138·2019-08-26 13:49