第三周学习

张开发
2026/4/7 4:54:49 15 分钟阅读

分享文章

第三周学习
数组一种可以按顺序保存数据的数据类型声明语法取值语法一些术语遍历数组求最大值和最小值letarr[2,6,1,77,52,25,7]letmaxarr[0]letminarr[0]for(leti0;iarr.length;i){if(arr[i]max){maxarr[i]}if(arr[i]min){minarr[i]}}document.write(最大值为${max}br 最小值为${min})数组操作–修改letarr[pink,red,green]for(leti0;iarr.length;i){arr[i]arr[i]老师document.write(${arr[i]}br)}数组操作–新增数组.push()方法将一个或多个元素添加到数组的末尾并返回该数组的新长度语法1.arr.push(元素1元素2···)arr.unshift(新增的内容) 方法将一个或多个元素添加到数组开头并返回该数组的新长度letarr[pink,hotpink]arr.push(deeppink)console.log(arr)数组筛选letarr[2,0,6,1,77,0,52,0,25,7]letnewArr[]for(leti0;iarr.length;i){if(arr[i]10){newArr.push(arr[i])}}console.log(newArr)数组操作–删除数组.pop()方法从数组中删除最后一个元素并返回该元素的值 只删一个数组.shift() 删除第一个元素数组.splice() 删除指定元素语法arr.splice(start,deletCount)start起始位置指定修改的开始位置deletCount:删除几个元素letarr[red,green,yellow]arr.splice(1,1)//是从索引号为1的位置开始删删1个document.write(arr)冒泡排序数组.sort() 升序排序letarr[6,7,3,2,1]/* for (let i 0; i arr.length; i) { for (let j 0; j arr.length - i - 1; j) { if (arr[j] arr[j 1]) { let temp; temp arr[j] arr[j] arr[j 1] arr[j 1] temp } } }*/arr.sort()document.write(arr)函数function函数是被设计为执行特定任务的代码块有利于精简代码方便复用函数的使用函数的声明语法function函数名{函数体}函数名命名规范和变量命名基本一致尽量小驼峰式命名法前缀应该为动词命名建议常用动词约定函数的调用函数名functionsheet9(){for(leti1;i9;i){for(letj1;ji;j){document.write(span${i}×${j}${i*j}/span)}document.write(br)}}for(leti1;i3;i){sheet9()}函数的传参如若函数完成功能需要调用者传入数据那麽就需要用有参数的函数极大提高函数灵活性形参声明函数时写在函数名右边小括号里的叫形参实参调用函数时写在函数名右边小括号里的叫实参实参可以是变量参数默认值若无实参时则为undefined默认为0这样程序更严谨函数的返回值 (对执行结果的扩展性更高可以让其他的程序使用这个结果)当函数需要返回数据出去时用return关键字细节在函数体中使用return关键字能将内部的执行结果交给函数外部使用return后面代码不会再被执行会立即结束当前函数所以return后面的数据不要换行写return函数可以没有return ,这种情况默认返回值为undefined如何返回多个值return[max,min]补充两个相同的函数后面的会覆盖前面的函数再JS中实参的个数可以和形参的不相同如果形参过多 会自动填上undefined如果是参过多会被忽略函数一旦碰到return就不会往下执行break和return的区别break用于循环结束return用于函数结束functiongetMax(x,y){returnxy?x:y}letmaxgetMax(1,2)console.log(max);函数的作用域通常来说一段程序代码中所用到的名字并不总是有效和可用的而限定这个名字的可用性的代码范围就是这个名字的作用域作用域的使用提高了程序逻辑的局部性增强了程序的可靠性减少了名字冲突分类全局作用域局部作用域特殊情况如果函数内部变量没有声明直接赋值也当全局变量看函数内部的形参可以看成局部变量变量的访问原则只要是代码就至少有一个作用域写在函数内部的局部作用域如果函数中还有函数那么这个作用域中又诞生一个作用域访问原则在能够访问到的情况下 先局部局部没有再找全局匿名函数没有名字的函数无法直接使用函数表达式和具名函数的不同剧名函数的调用可以写到任何位置函数表达式必须先写表达式 后调用立即执行函数语法(function(){letnum10})()作用防止变量污染多个执行语之间用分号隔开案例数组案例—根据输入内容生成柱形图!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidth , initial-scale1.0titleDocument/title/headstyle*{margin:0;padding:0;}.box{width:500px;height:500px;border-left:1px solid;border-bottom:1px solid;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-around;margin:0 auto;}.box div{width:50px;background-color:pink;display:flex;flex-direction:column;justify-content:space-between;text-align:center;margin:0 30px;}div span{margin-top:-20px;}h4{margin-bottom:-20px;font-size:12px;}/stylebodyscriptletarr[]for(leti1;i4;i){letnumprompt(请输入第${i}季度的数据)arr.push(num)}document.write(div classbox)for(leti0;iarr.length;i){document.write(div styleheight:${arr[i]}px; span${arr[i]}/span h4第${i1}季度/h4 /div)}document.write(/div)/script/body/html函数案例–时间转换!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidth, initial-scale1.0titleDocument/title/headbodyscriptletsecondprompt(请输入秒数)functiongetTime(t){lethparseInt(t/60/60%24)letmparseInt(t/60%60)letsparseInt(t%60)hh10?0h:h mm10?0m:m ss10?0s:sreturn${h}:${m}:${s}}letstrgetTime(second)document.write(str)/script/body/html

更多文章