002 数组与函数

一:关键字

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.预解析

  把变量的声明提前了,提前到当前作用域的最上面

  函数的声明也会被提前,提前到当前所在作用域的最上面

  

  

原文地址:https://www.cnblogs.com/juncaoit/p/11180567.html