数组

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

作用:存储大量数据

一、数组的定义

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. Socket_leaks open socket #5024 left in connection

    open socket left in connection http://mailman.nginx.org/pipermail/nginx/2012-September/035627.html D ...

  2. 如何将大数据保存到 MySql 数据库

    1. 什么是大数据 1. 所谓大数据, 就是大的字节数据,或大的字符数据. 2. 标准 SQL 中提供了如下类型来保存大数据类型: 字节数据类型: tinyblob(256B), blob(64K), ...

  3. velocity 遍历EventHandler Iterator

    EventHandlerUtil 类的 iterateOverEventHandlers方法 for (Iterator i = handlerIterator; i.hasNext();){ Eve ...

  4. 前端之 JS 实现全选、反选、取消选中

    需求 制作如下可选表格,实现“全选”.“反选”.“取消”功能 代码示例 <!DOCTYPE html> <html lang="zh-CN"> <he ...

  5. java NIO 模型(一)

    1. 阻塞I/O通信模型 1.性能:一连接一线程模型导致服务端的并发接入数和系统吞吐量受到极大限制 2.可靠性:由于IO操作采用同步阻塞模式,当网络拥塞或者逻辑处理缓慢会导致IO线程被挂住,阻塞时间无 ...

  6. 【WEB】前段优化

    模块化管理: sea.js, require.js 压缩:r.js gulp.js, grunt.js 加速:cdn

  7. 剑指offer 面试20题

    面试20题: 题目:表示数值的字符串 题:请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123 ...

  8. springboot-vue项目前台2

    api_account.js import * as API from './' export default { //登录 login: params => { return API.POST ...

  9. 主攻ASP.NET.4.5.1 MVC5.0之重生:在项目中使用zTree jQuery 树插件

    效果图和json格式 Controllers代码 using HR.Models; using HR.Models.Repository; /***************************** ...

  10. 学习C#之旅 冒泡排序,选择排序,插入排序,希尔排序[资料收集]

    关于冒泡排序,选择排序,插入排序,希尔排序[资料收集]  以下资料来源与网络 冒泡排序:从后到前(或者从前到后)相邻的两个两两进行比较,不满足要求就位置进行交换,一轮下来选择出一个最小(或最大)的放到 ...