“嗯,你这用的是for循环。如果你希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。就好像你刚才写的,你想要重复用console.log输出一个什么东西,用for循环的确可行。那你可知while循环?”
叶小凡想了一下,说道:“while循环感觉和for循环差不多吧,就是语法上稍微有点区别。”说着,随手打出一段代码,将刚才的for循环改写成while循环。
var i = 0;
while(i < 100){
console.log(i);
i++;
}
“i++是自增运算符,表示把当前的变量自增一个单位。而++i和i++是有区别的,前者代表先自增一个单位,再运算,后者相反,是先运算,再++。但是由于这段代码中的i++是单独一行,没有对i进行使用,所以不管是++i还是i++,只要这句话执行完毕,i的值都会++。”
听到这里,就是叶老也满意地点了点头。
“小娃娃,看来你基础学得不错,那你说说while循环和for循环有什么区别吧,除了语法。”
“这…”叶小凡一时语噻。
“小娃娃,你且看好,你方才写的for循环有一个圆括号。圆括号里面有三个表达式,分别为var i=0 , i < 100还有i++。第一个语句是在循环开始之前执行的,var i=0的意思就是定义了一个变量i,是整数,初始的值为0。第二个语句是i < 100,这个表示进入循环体的条件。”
“循环体,就是那个用大括号扩起来的部分吗?”叶小凡问到。
for(var i=0;i<10;i++){
console.log(i);
}
“没有错,不论是for循环还是while循环,循环体就是这个部分。这个部分里面的代码是需要被多次执行的。现在我再给你说说最后一个语句i++,这个语句是在刚才我们所说的大括号里面的代码被全部执行完之后才会被执行的。一般这个语句里面的代码就是控制循环变量i自增一个单位或者自减一个单位。”
“自增我知道,无非就是i++或者++i,为什么要自减呢?”
“关于这个问题,是和第二个语句相关联的。比如你刚才写的代码。”说着,叶老指向叶小凡刚才写的代码:
for(var i=0;i<10;i++){
console.log(i);
}
“你的循环判断条件是当i小于10的时候,才会进入循环体。也就是后面用大括号扩起来的部分,对吧?”叶老问到。
“没错,最开始的时候i=0,第一次循环i自然是小于10的,于是就进入循环体,像这样。”说着,叶小凡催动内力,让这段JavaScript代码开始执行。
当执行到这一行代码的时候,叶小凡特意用debug让代码停止了下来。
“嗯,很好,我且问你,现在代码停在了这一行,如果我往下执行一部,会调到第四行还是停留在第三行呢?” 叶老问到。
“那还用问,肯定是调到第四行啦。”叶小凡不可置否地说道。
“先别着急下结论,走一步试试。”叶老平淡地对叶小凡说道。
“试就试。”
说着,叶小凡就用debug走了一步。结果发现:
“这是怎么回事?”叶小凡讶然,同时皱了皱眉。
“你再走一步试试?”叶老笑呵呵地说道。
就这样,叶小凡又走了一步,这才发现走到了第四行。经过反复地测试,叶小凡紧皱的眉头终于松开了。原来,第一次跳到第三行代码的时候,是在准备运行for循环的语句一,也就是var i = 0 这句话。因此,刚才第一次跳到第三行代码的时候,i变量的值是undefined(未定义),因为这个时候只是去声明了i变量,还没有运行 i = 0这个赋值语句,所以是undefined。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
web浏览器中的javascript
- 客户端javascript
- 在html里嵌入javascript
- javascript程序的执行
- 兼容性和互用性
- 可访问性
- 安全性
- 客户端框架
window对象
-
计时器
-
浏览器定位和导航
-
浏览历史
-
浏览器和屏幕信息
-
对话框
-
错误处理
-
作为window对象属性的文档元素
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1adbbfdefca6b401d7dc4e6acd9207d.png)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-9bJZ9sig-1712730997284)]