数组

数组:一个有顺序,有长度的数据集合

作用:存储大量数据

一、数组的定义

1、构造函数法:使用构造函数法的时候,都会使用new关键字

var arr=new Array();

当长度为0 的时候,里面没有任何数据

2、字面量法:直接声明一个变量,赋值 [ ]

var arr= [ ] ;

二、数组赋值

1、构造函数:

var arr=new Array( ' abc' , 123 , true , false , undefined , null , 789);

这样的写法就是在往数组里面存储数据

如果直接是var arr=new Array(3);那就是声明数组的长度,不是存储数据

2、字面量法:

var arr= [ ‘ abc’ , 123 , true , false , undefined , null , 789 ];

3、通过索引赋值:

注意:数组的索引从0开始。

数组的索引要用 [ ] 访问。

数组里面可以存储任意类型的数据(弱类型)。

arr [0]=123;

arr[1]=’abc’;

4、数组的取值:

数组只能通过索引的方式取值,会使用到  [ ] 操作符

语法: 数组名 [ 索引 ];

var arr= [ ‘ abc’ , 123 , true , false , undefined , null , 789 ];

console.log(arr[0]);

console.log(arr[1]);

5、数组的遍历:将某个数据结构的所有数据全都访问一遍

函数

1、函数的作用

函数:就是一段可以在我们需要的时候重复使用代码块

解决的问题:让代码可以重复使用

2、函数的定义

1、function 关键字声明

格式:

function 函数名 ( 参数列表 ) {

函数体(返回值)

}

书写函数的过程:

1、 把想要重用的过程里,改变的东西放到参数列表里

2、 把想要重用的代码,放到函数体里面

3、 如果你希望函数执行之后,要得到一些东西,这些东西就是返回值,在return的后面加上你想要的东西

2、函数表达式

格式:

var 函数名 = function ( 参数列表 ){

函数体(返回值)

}

过程同上。

3、 函数命名

1、 可以使用字母、数字、下划线、$

2、 不能以数字开头

3、 不能使用关键字和保留字

4、区分大小写

5、建议要有意义 --  动词+名字结构

6、驼峰命名法

7、函数名不能重名,后面写的重名函数会把前面写的函数给覆盖掉

3、函数的参数

1、函数的形参

形式参数:在函数定义时,写在参数列表里的参数 -- 只是起到占据位置的作用,以便将来我们可以按照一定的规则传递参数。除此之外,还可以在函数的内部当成变量使用

2、函数的实参

实际参数:在函数被调用的时候实际传入函数内部的参数

在现阶段:

传参的时候,形参和实参是不会相互影响的,传参不会影响实际参数的值。或者说:函数在进行简单类型的数据传参的时候,形参和实参的值不会相互影响,简单类型的传参也不会影响实际参数的值

3、arguments对象

1、里面包含了所有在函数调用时传递进来的参数(在js中,函数的实参和形参的个数是可以不一致)

2、可以把arguments这玩意当成数组使用,有长度,可以使用索引访问所有在调用函数的时候传递进来的参数

3、只存在于函数的内部,也只能在函数内部使用,在函数之外是无法直接拿过来使用

一般来说,用来实现不定长度的参数个数的效果

4、函数的返回值

返回值:

当函数执行完毕之后,所得到的结果就是一个函数返回值

任意函数都有返回值

1、 在函数内部没有显式的写有return的时候,函数的返回值是undefined

2、 当函数内部有return,但是return后面没有跟着任何内容或者数据的时候,函数的返回值是undefined,并且return后面的代码不会执行

3、 当return后面跟着内容或者数据的时候,函数的返回值就return后面的东西

return关键字:这个关键字专门用来使函数执行之后具有返回值,并且结束函数执行用的

函数的四种形式:

1、无参无返回值

2、无参有返回值

3、有参无返回值

4、有参有返回值

5、函数的调用

函数名( 参数列表 );

6、匿名函数

就是没有名字的函数

格式:

function (参数列表) {

函数体

}

但是这个格式是不允许直接使用

用处:

1、函数表达式

2、还可以当成参数传递(回调函数)

7、自执行函数

函数可以自动的执行

格式:

(function (){

函数体

})();

JQuery就是使用自执行函数完成初始化的,所以一般在需要声明完毕就立刻执行的时候使用。

8、函数也是一种类型

通过typeof可以知道,函数也是一种数据类型,只要是数据类型,就可以成为参数传递

9、递归

概念:

函数自己内部调用自己本身

function fn(n) {
if (n == 1 || n == 2) {
return 1;
}
return fn(n - 1) + fn(n - 2);
}
console.log(fn(12));

JavaScript数组和函数的使用的更多相关文章

  1. JavaScript 数组操作函数--转载+格式整理

    JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...

  2. Javascript数组操作函数总结

    (1) shift  删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4, ...

  3. Javascript数组与函数初识

    1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素.数组是一种将一组数 ...

  4. JavaScript数组倒序函数reverse()

    左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = tem ...

  5. JavaScript数组操作函数

    A: 购物车会有这样的情况,购物车是一个数组,每一个商品是一个对象,分别对应一个id,和一个num ,然后改变商品的时候需要和购物车对比,如果购物车中有这个商品的话,就只改变这个商品对应的id的num ...

  6. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  7. Javascript数组函数库

    其实平时用的比较多的应该是push和pop,不过还是都记下来,以便后面使用. shift :删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4 ...

  8. 读《JavaScript权威指南》笔记(四)--数组、函数

    一.数组 1.数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有 ...

  9. javascript中的所有内容都是一个对象:字符串、值、数组、函数…

    javascript中的所有内容都是一个对象:字符串.值.数组.函数…此外,javascript允许自定义对象.javascript对象JavaScript提供多个内置对象,如字符串.日期.数组等.对 ...

随机推荐

  1. 小程序html 显示 图片处理

    let arr = [] for (const v of r.data.data ){ // v.content = v.content.replace(/<img/g ,' <image ...

  2. PHP替换字符串-str_replace

    实例 把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai": <?php echo str_ ...

  3. Sql Server 2005 .bak备份文进行还原数据库

    https://jingyan.baidu.com/article/9158e000250b91a25412283f.html https://www.cnblogs.com/webmen/p/575 ...

  4. redis3.2.8安装过程

    1.安装依赖的包yum -y install jemalloc gcc2.解压redis的安装文件tar xf redis-3.2.8.tar.gz3.进入redis-3.2.8目录cd redis- ...

  5. yii2判断数据库字段is null

    $query = new Query; $query->select('ID, City,State,StudentName') ->from('student') ->]) -&g ...

  6. Linux软件包管理 RMP包管理

    概述 RPM 包的命名一般都会遵守统一的命名规则,例如: httpd-2.2.15-15.el6.centos.1.i686.rpm 其中的各项代表的含义如下: httpd:软件包名. 2.2.15: ...

  7. 计算机网络概述 传输层 TCP可靠传输的实现

    TCP可靠传输的实现 TCP的可靠性表现在:它向应用层提供的数据是 无差错的.有序的.无丢失的,简单的说就是:TCP最终递交给应用层的数据和发送者发送的数据是一模一样的. TCP采用了流量控制.拥塞控 ...

  8. 【HackerRank】Sherlock and Array

    Watson gives an array A1,A2...AN to Sherlock. Then he asks him to find if there exists an element in ...

  9. Linux 调优

    一.系统优化 1.硬件优化 增加内存 更换速度跟高磁盘(sata->sas)可以增加固态硬盘 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用.服务器网卡一般为千兆 2.系统层优化 ...

  10. 23种设计模式UML表示形式

    一.概况:       类关系表示:   说明:           二.创建型 1.Factory Method 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Met ...