Javascript程式設計技巧 函式記憶

2021-09-12 12:28:21 字數 808 閱讀 1190

當一些計算結果可以保留下來為以後的運算提供方便的時候, 就可以用到記憶話函式

記憶化函式將計算結果儲存起來,如果之後碰到相同的引數,就直接放回已經計算過的引數

使用限制: 純函式

演算法思想:空間換時間

/**

* 記憶化函式

*/function memorize(func) ;

return function() else }}

/*** 求階乘

*/function factorial(num)else

}var memorizefunc = memorize(factorial);

console.time('pre')

console.log(factorial(5));

console.timeend('pre'); // 0.18994140625ms

console.time('mem');

console.log(memorizefunc(5))

console.timeend('mem'); // 0.10009765625ms

console.time('pre')

console.log(factorial(50));

console.timeend('pre'); // 0.274169921875ms

console.time('mem');

console.log(memorizefunc(50))

console.timeend('mem'); // 0.200927734375ms

javascript 語言技巧

1 使用 它比較不會型別轉換,速度要比 快 1 1 false 1 1 true 2 typeof 一元操作符,用於以字串的形式返回變數的資料型別 typeof null array date 都返回object 這樣在判斷變數變形時會有問題,可用 object.prototype.tostring...

JavaScript 程式設計

瀏覽器作為xhtml解析器,將網頁載入到記憶體時,首先字記憶體中為整個文件建立乙個文件節點物件 document 每載入乙個標記 注釋或者屬性,就將其當做節點 note dom的主要思想是xhtml上每個元素分別對應於dom中的乙個節點。節點的屬性和方法 部分 nodevalue 節點的值,適用於文...

JavaScript 程式設計

獲取表單的引用 1 var oform document.getelementbyid form1 2 var oform document.form 0 3 var ootherform document.forms formz 4 var oform document.myformname 表單...