/ test_objectpool.html
test_objectpool.html
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 6 7 <title>Object Pool — Space.js</title> 8 9 <link rel="preconnect" href="https://fonts.gstatic.com"> 10 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Mono"> 11 <link rel="stylesheet" href="assets/css/style.css"> 12 13 <script type="importmap"> 14 { 15 "imports": { 16 "@alienkitty/space.js": "../src/index.js" 17 } 18 } 19 </script> 20 21 <script type="module"> 22 import { ObjectPool } from '@alienkitty/space.js'; 23 24 // 25 26 const pool = new ObjectPool(); 27 28 for (let i = 0; i < 4; i++) { 29 pool.put(i); 30 } 31 32 console.log(pool.length); // 4 33 34 let object = pool.get(); 35 console.log(object, pool.length); // 0 3 36 37 object = pool.get(); 38 console.log(object, pool.length); // 1 2 39 40 object = pool.get(); 41 console.log(object, pool.length); // 2 1 42 43 object = pool.get(); 44 console.log(object, pool.length); // 3 0 45 46 object = pool.get(); 47 console.log(object, pool.length); // null 0 48 49 pool.put(object); 50 console.log(pool.length); // 1 51 52 // 53 54 const pool2 = new ObjectPool(); 55 pool2.put(0, 1, 2, 3); 56 console.log(pool2.length); // 4 57 58 const object2 = pool2.get(); 59 console.log(object2, pool2.length); // 0 3 60 61 pool2.put(object2); 62 console.log(pool2.length); // 4 63 </script> 64 </head> 65 <body> 66 </body> 67 </html>