请补全JavaScript代码,要求在页面上渲染出一个直角三角形,三角形换行要求使用"br"实现。三角形如下:
*
**
***
var triangle = document.querySelector('.triangle'); // 补全代码 let length = 3 let str = '' for(let i = 0; i<3; i++) { str += new Array(i + 1).fill('*').join('') if (i !== length -1) { str += '<br />' } } triangle.innerHTML = str
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <div class='triangle'></div> <script> var triangle = document.querySelector('.triangle'); // 补全代码 triangle.innerHTML=`*<br>**<br>***` </script> </body> </html>第一眼看过去的做法,提交之后内存占用高,速度慢,第二次封了一个函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <div class='triangle'></div> <script> var triangle = document.querySelector('.triangle'); let str='' function printf(n){ for (let i = 0; i < n; i++) { str='*'+str triangle.innerHTML=triangle.innerHTML+`${str}<br>` } } printf(3) </script> </body> </html>速度比直接写快了一点,后来把函数拆了,直接用里面的for循环速度又快一点1980ms,内存也少了。但是速度才超过70%+,有无更快速的写法求教