一:关键字
1.break
跳出当前的循环【如果多重循环,这个要注意】
2.continue
跳出当前循环,继续下一次循环
二:数组
1.数组第一种方式定义
构造函数创建:
var aa = new Array();
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //数组的定义 8 var aa = new Array(); 9 console.log(aa); 10 //定义数组的长度 11 var bb = new Array(6); 12 console.log(aa); 13 </script> 14 </head> 15 <body> 16 <h1>CJ</h1> 17 </body> 18 </html>
定义数组,如果有长度,那么默认是undefined。
2.字面量的方式
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //数组的定义 8 var aa = []; 9 </script> 10 </head> 11 <body> 12 <h1>CJ</h1> 13 </body> 14 </html>
3.构造函数创建数组的注意点
如果里面只有一个数字,表示数组的长度
如果里面有多个值,这个数组就有数据了,数组的长度就是数据的个数
4.数组的访问
arr[n]
下标从0开始。
5.设值
arr[n]=888
6.注意点
数组里数据类型可以不一样
长度可以改变
如果获取超过数组长度的值,则返回undefined,但不会报错
三:函数
1.形参的问题
在函数定义的时候,形参前面不需要管变量类型
2.返回问题
return
3.程序
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 // 8 function funcAdd(x, y) { 9 var z = x+y; 10 return z; 11 } 12 13 // 14 var result = funcAdd(10, 20); 15 alert(result) 16 </script> 17 </head> 18 <body> 19 <h1>CJ</h1> 20 </body> 21 </html>
4.arguments
这个是不定参数的存储
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 // 8 function funcAdd() { 9 console.log(arguments.length) 10 } 11 12 // 13 funcAdd(1,2,3,4,5); 14 </script> 15 </head> 16 <body> 17 <h1>CJ</h1> 18 </body> 19 </html>
效果:其打印在控制台上的值是5.
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 // 8 function funcAdd() { 9 var sum = 0; 10 for (var i=0;i<arguments.length;i++){ 11 sum+=arguments[i]; 12 } 13 console.log(sum); 14 } 15 16 // 17 funcAdd(1,2,3,4,5); 18 </script> 19 </head> 20 <body> 21 <h1>CJ</h1> 22 </body> 23 </html>
效果:在控制台上的值是15.
5.其他的定义方式
主要有匿名函数,命名函数
命名函数:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //命名函数 8 function funcAdd() { 9 console.log("===") 10 } 11 //调用 12 funcAdd(); 13 14 </script> 15 </head> 16 <body> 17 <h1>CJ</h1> 18 </body> 19 </html>
匿名函数:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //匿名函数 8 var funcAdd = function () { 9 console.log("===") 10 } 11 //调用 12 funcAdd(); 13 14 </script> 15 </head> 16 <body> 17 <h1>CJ</h1> 18 </body> 19 </html>
6.函数声明与函数表达式
函数表达式会直接执行,不会像声明函数那样会存在覆盖的问题。
表达式:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //函数表达式 8 var funcAdd = function () { 9 console.log("===") 10 } 11 funcAdd(); 12 var funcAdd = function () { 13 console.log("+++") 14 } 15 funcAdd(); 16 </script> 17 </head> 18 <body> 19 <h1>CJ</h1> 20 </body> 21 </html>
效果:
函数声明:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 //函数表达式 8 function funcAdd() { 9 console.log("===") 10 } 11 funcAdd(); 12 function funcAdd() { 13 console.log("===") 14 } 15 funcAdd(); 16 </script> 17 </head> 18 <body> 19 <h1>CJ</h1> 20 </body> 21 </html>
效果:
7.函数也是数据类型
typeof f1;
返回的是function
8.函数作为参数进行传递
其中,f1看做回调函数。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 // 8 function f1() { 9 console.log("===") 10 } 11 function f2(fn) { 12 fn(); 13 } 14 // 15 f2(f1); 16 17 </script> 18 </head> 19 <body> 20 <h1>CJ</h1> 21 </body> 22 </html>
9.作用域、
块级作用域:
一个大括号就可以看做一个块。
在块中定义的元素,在块的外面依然可以使用。
局部变量:
在函数内部定义的变量,是局部变量
除了函数以外,其他地方定义的变量都是全局变量
全局变量:
如果网页不关闭,则不会释放,则会占用内存
10.预解析
把变量的声明提前了,提前到当前作用域的最上面
函数的声明也会被提前,提前到当前所在作用域的最上面