目录
for循环
<script>
for (let i = 0; i <= 5; i++) {
console.log(i);
}
</script>
while循环
<script>
let num = 1;
while (num <= 10) {
console.log(num);
//不加条件会死循环
num++
}
</script>
do while循环
<script>
//不管判断条件是否成立,都会执行一次
let num = 1;
do {
console.log(num);
num++
} while (num > 10)
</script>
break; 立即退出循环,并且不在往下执行
<script>
for (let i = 0; i < 5; i++) {
console.log(i);
if (i == 2) {
break; // 立即退出循环,并且不在往下执行
}
}
</script>
continue; 立即跳过本次循环,继续执行。
js数组
// 数组里面的数据用 ‘ ,’ 隔开,索引号从0开始,利用new关键字创建一个数组
var zdy = new Array(1, 5, '你好', 'hallo', 6);
//利用数组字面量创建数组
var zdy2 = [1, 5, '你好', 'hallo', 6];
遍历数组
var arr = [1, 5, 6, 9, 7, 8, 9, 3];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
把数组转为字符串
var arr = ['red', 'blak', 'blue', 'green'];
var str = ''; 先创建一个空字符串变量
//用for循环遍历,用空字符串把arr[i]里面的元素相加起来。
for (var i = 0; i < arr.length; i++) {
str += arr[i];
}
新增数组元素
<script>
//1.新增数组元素,直接修改数组长度。
var arr = [1, 2, 3];
arr.length = 5;
console.log(arr[4]); //数组里面多了2个空元素。调用空元素结果为undefind
//2.新增数组元素,修改索引号追加数组元素
var arr1 = [1, 5, 3, 6];
arr1[4] = 'nihao'; //直接给添加nihao索引号为4
console.log(arr1);
arr1[1] = '修改一号索引'//如果改索引原本有元素,那么会直接替换掉原先元素。
console.log(arr1);
</script>
js函数
<script>
/*函数可以声明参数,也可以不声明。形参,实参数量都不限制。可以多次设置实参,
来调用函数。
一个实参对应一个形参,如果实参多余形参,则根据形参数量,按实参顺序正常运行。
形参是变量,当没有赋值时默认位undefind。实参小于形参时,结果位NaN。函数内
部可以对形参进行处理,并返回。*/
</script>
匿名函数
<script>
//匿名函数,函数没有名字,把函数赋值给了某个变量
let fun = function (x, y) {
console.log(x + '-' + y);
}
fun(1, 2)
</script>
声明函数
<script>
//声名函数
function zdy(x, y) {
console.log(x + '-' + y);
}
zdy(1, 2);
</script>
返回值
<script>
/*函数的返回值return,return后面的代码不执行。return 只能返回一个值,
如果后面多个值用逗号隔开,以最后一个为准。此时函数的就等于他的返回值*/
function zdy(x, y) {
return x + y
}
let num = zdy(1, 2);//zdy(1,2)等于3,并赋值给了num
console.log(num);
</script>
arguments关键字
<script>
/* arguments是伪数组,具有length属性可以遍历,按索引方式储存数据不具有数组的push,
pop等方法。 可以储存传递进来的所有实参.*/
function zdy() {
console.log(arguments);
}
zdy(1, 2, 3, 4, 5);//zdy(1,2)等于3,并赋值给了num
</script>
js作用域
<script>
/*作用域就是代码变量在某个范围内起的作用和效果。
全局作用域,在整个script标签里面,或者是单独js文件
局部作用域,在函数标签里面的
域解析:把var和function提升到当前作用域的最前面,然后按照代码顺序执行。
变量提升是把变量声明提升,不提升赋值,变量被赋值但没有声明的是全局变量。
作用域链,内部可以调用外部的变量。局部可以调用全局的变量。*/
</script>