js分享3

81 阅读3分钟

循环结构

问题:在控制太打印输出1000句Hello world--->console.log(Hello world).....consle.log(Hello world);

解决: 循环结构:反复执行相同或相似的代码

循环三要素:

1.循环条件:从哪里开始,到哪里结束

2.循环体:操作-->要做什么事

3.循环变量:变量还要变化

1.while循环:其实循环从宏观上看书是一起执行的,但是微观上看是一次一次执行的,只不过这个执行速度很快

语法:

var循环变量=几;

while(循环条件){循环体、循环变量变化;}

执行原理:先判断循环条件是否满足,如果为true,则执行循环体一次,再一次判断循环条件满足吗?如果为true,则再执行一次.....直到循环条件不满足,才会退出循环。

特殊

死循环:永远不会结束循环,但还真用,往往不确定循环次数的时候就要使用:

while(true){循环体;} 往往死循环还要搭配上,退出循环语句:break--->只能写在循环里。

2.for循环:执行原理跟while医院,只是语法更加简洁

for(循环变量的创建;循环条件;变量的变化){循环体;}

特殊:

1.循环变量的创建和循环变量的变化其实可以写多个

2.死循环:for(; ;){操作;}

总结

1.while:语法更加繁琐,建议值用不确定次数的时候--->死循环

2.for:语法更加简单,建议只用于确定循环次数的时候--->大部分

问题

函数和循环都可以是反复执行的,区别在于:

函数:要么程序员调用基础,执行几次。或者用户触发几次,执行几次

循环:程序写好,而且几乎是一询价就执行完毕的。

二、数组

问题

保存1000个同学的姓名: var name1="某某“;var name2="某某";var name3="某某“;var name4="某某";.....

以上写不合理,变量就是一个内存,我开辟的内存空间太多的话,会影响网页效率。希望一个变量名就可以保存住所有数据---->数组;

数组里面的元素是按照线性孙秀排的,除了第一个元素,每个元素都有唯一的前驱元素。 除了最后一个元素,每个元素都有唯一的后驱元素。

每个元素都有一个唯一的位置序号,称之为【下标】:从0开始到最大长度

1.创建数组:2种

1.直接量方式:var arr=[];--->空数组 var arr=[元素...];

2.构成函数方式: var arr=new Array();--->空数组 不推荐使用,更加麻烦。

其实直接量方式是ES2过后添加的,原来只要构成函数的方式 var arr=new Array(元素...)

2.访问/获取:获取出数组的某个元素数组名【下标】

3.添加/覆盖 数组名[下标]=新元素

特殊

1.下标处没有元素,则为添加

2.下标处有元素,则为覆盖/替换

4.数组的三大限制

1.不限制元素类型

2.不限制元素个数

3.不限制下标越界--->算是一个缺点

获取时--下标越界,返回underfined 添加时--下标越界,会变成稀疏数组,导致不连续,不好。

5.数组有唯一的属性:

数组.length;-->获取数组的长度

三个固定的套路

1.向末尾添加元素:arr[arr.length]=新元素;

2.获取倒数第几个表示:arr[arr.length-n]

3.缩容:删除末尾n个元素:arr.length-=n

6.其实经常我们不会去拿出数组的某个元素来操作,往往是拿出所有的东西来操作

遍历数组:将数组中的每个元素取出来执行相同或相似操作:

公式:for(var i=0;i<arr.length;i++){arr[i];-->当前元素}