前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >学了点js

学了点js

作者头像
姓王者
发布2024-10-31 18:48:11
发布2024-10-31 18:48:11
460
举报
文章被收录于专栏:姓王者的博客

语法挺有趣的

源码来源于freecodecamp

代码语言:javascript
复制
const character = "!";
const count = 10;
const rows = [];
let inverted = false;

function padRow(rowNumber, rowCount) {
return " ".repeat(rowCount - rowNumber) + character.repeat(2 * rowNumber - 1) + " ".repeat(rowCount - rowNumber);
}

for (let i = 1; i <= count; i++) {
if (inverted) {
rows.unshift(padRow(i, count));
} else {
rows.push(padRow(i, count));
}
}

let result = ""

for (const row of rows) {
result = result + "\n" + row;
}

console.log(result);

逐步分析

变量定义

使用let定义变量,而且还不分类型,这说明js变量定义很宽松呀。const,顾名思义,它也是定义固定的变量

数组定义用了[],这和java有点像。

函数声明

使用function关键字进行声明,同样不分变量类型,内部和c/cpp差不多,而且似乎某些类型变量自带方法,就比如第一个函数的.repreat()方法,似乎是字符串自带的,很方便地进行了重复,不用我再写一遍循环。

还有`.push.unshift.等方法,看来可以实现栈,队列等数据结构。

输出

使用的是console.log()方法进行输出,当然我还不了解其他可能的输出方法,就先这么记了

示例结果

代码语言:javascript
复制
// running tests
// tests completed
// console output

         !     
        !!!    
       !!!!!   
      !!!!!!!  
     !!!!!!!!!   
    !!!!!!!!!!!  
   !!!!!!!!!!!!!   
  !!!!!!!!!!!!!!!  
 !!!!!!!!!!!!!!!!! 
!!!!!!!!!!!!!!!!!!!

回想起曾经大一自己写的金字塔了:)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-252,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 逐步分析
    • 变量定义
      • 函数声明
        • 输出
          • 示例结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档