JavaScript——数组&函数

本章的内容

本章的总体思路,围绕着数组展开。

数组Arry

一、数组是是?它有几种创建方式?

1.数组是什么?

  • 数组是一组相关的数据集合。可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。
  • 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的方式。

2.数组的创建方式

一共有两种方式。new一个,还有一种是字面量的方式。

  • new一个,
  var 数组名 = new Array() ;
  var arr = new Array();   // 创建一个新的空数组
  • 字面量的方式

    //1. 使用数组字面量方式创建空的数组
    var  数组名 = [];
    //2. 使用数组字面量方式创建带初始值的数组
    var  数组名 = ['大明','小陈','小张','老李'];
    //3.在数据中可以放任意类型
    var  数组名 = [0,true,'小张',13213];
  • 这种字面量方式也是我们以后最多使用的方式,也是在开发中常用的

### 二。如何访问数组中的元素?
### 1.使用索引(下标)进行访问。

  • 需要注意的是这里的索引是从0开始的。
// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);  //这里获取的是值是 2
alert(arrStus[6]);  //访问时数组没有和索引值对应的元素,则得到的值是undefined

2.有没有更快的访问方式?

  • 我们可以通过遍历的方式。一下子把数组的数组全拿出来。这个在实际的开发中,非常常用。
  • 使用for循环!
var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){
    console.log(arrStus[i]);
}
  • 这个代码里面的arr.length 指的是数组的长度,
  • 当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

数组的length属性可以被修改

  1. 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;>就增加
  2. 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除,<就删除

三、如何新增元素呢?

我们通过一个简单的实例代码,很容易的就可以明白了。

  • 实现的原理就是:在数组的末尾插入新元素:
  数组[ 数组.length ] = 新数据;

  var arr = [1,2,3,4,5]
  alert(arr.length)   //这里是5个元素,所以长度是5.索引的最大值是4
  arr[arr.length] = 6;
  alert(arr.length)   //这里的长度就编程6了。

二、函数是什么?

1.概念以及简单的使用。

在 JS 里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。虽然 for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用 JS 中的函数。

? 函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用

  • 简单的使用
// 1. 声明函数
function 函数名() {
  //函数代码
}
// 2. 调用函数
函数名();

// 比如,我想实现一个累加的算法从用0一直加到100,

 function getSum(){
    var sumNum = 0;// 准备一个变量,保存数字和
    for (var i = 1; i <= 100; i++) {
      sumNum += i;// 把每个数值 都累加 到变量中
    }
    alert(sumNum);
  }
  // 调用函数
  getSum();

2.函数的参数

参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。

函数参数的运用:

// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
  // 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...); 
  1. 调用的时候实参值是传递给形参的
  2. 形参简单理解为:不用声明的变量
  3. 实参和形参的多个参数之间用逗号(,)分隔。
  4. 形参的个数可以和实参个数不匹配,但是结果不可预计,我们尽量要匹配
  5. 在JavaScript中,形参的默认值是undefined。
//实际的例子。实现一个算法,从用户输入值,获取两个值,对两个值先进行求和,再跟4取余;
alert("请输入第一个值");
var a = prompt();
alert("请输入第二个值");
var b = prompt();
var re;
var sum;
function remainder(num1,num2) {
  sum = num1 + num2;
  alert("求和的运算结果是:" + sum);

  re = sum % 4;
  alert("取余的运算结果是:" + re)
}

remainder(a,b);

3.函数的返回值

  • 一个函数内部,可以提供一个返回值,将得到的运算结果,传递给另一个函数进行进一步加工和处理
// return一下就可以了
// 声明函数
function 函数名(){
    ...
    return  需要返回的值;
}
// 调用函数
函数名();    // 此时调用函数就可以得到函数体内return 后面的值

//比如下面描述的以一个例子。
// 利用函数求数组 [5,2,99,101,67,77] 中的最大数值。这里你需要首先了解一下算法的概念

//所谓的算法就是解决某个问题的一种方法。

        function getArrMax(arr) { // arr 接受一个数组  arr =  [5,2,99,101,67,77]
            var max = arr[0];
            for (var i = 1; i <= arr.length; i++) {
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        }
        // getArrMax([5, 2, 99, 101, 67, 77]); // 实参是一个数组送过去
        // 在我们实际开发里面,我们经常用一个变量来接受 函数的返回结果 使用更简单
        // var re = getArrMax([5, 2, 99, 101, 67, 77]);
        var re = getArrMax([3, 77, 44, 99, 143]);
        console.log(re);
  • 在使用 return 语句时,函数会停止执行,并返回指定的值
  • 如果函数没有 return ,返回的值是 undefined

4.总结一下前面学过的break,continue,和现在所学习到的return的区别

  • break :结束当前的循环体(如 for、while)
  • continue :跳出本次循环,继续执行下次循环(如 for、while)
  • return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码

5. arguments的使用

? 当不确定有多少个参数传递的时候,可以用 arguments 来获取。JavaScript 中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:

  • 具有 length 属性
  • 按索引方式储存数据
  • 不具有数组的 push , pop 等方法

    注意:在函数内部使用该对象,用此对象获取函数调用时传的实参。

6 .函数可以调用函数吗?

    函数内部可以调用另一个函数,在同一作用域代码中,函数名即代表封装的操作,使用函数名加括号即可以将封装的操作执行。

7. 函数的两种声明方式

  • 自定义函数方式(命名函数)

    利用函数关键字 function 自定义函数方式

    // 声明定义方式
    function fn() {...}
    // 调用
    fn();  
    • 因为有名字,所以也被称为命名函数
    • 调用函数的代码既可以放到声明函数的前面,也可以放在声明函数的后面
  • 函数表达式方式(匿名函数)

    利用函数表达式方式的写法如下:

    // 这是函数表达式写法,匿名函数后面跟分号结束
    var fn = function(){...};
    // 调用的方式,函数调用必须写到函数体下面
    fn();
    • 因为函数没有名字,所以也被称为匿名函数
    • 这个fn 里面存储的是一个函数
    • 函数表达式方式原理跟声明变量方式是一致的
    • 函数调用的代码必须写到函数体后面

8.函数自己调用自己可行吗?

这是可以的。比如下面的实例代码

(function() {
            console.log("这是函数的自调用");
             }
)();//这个函数就是函数自调用
//解释:
var f1 = function(){
 ?  console.log("你好!");
};
console.log(f1);
f1();
//解释:f1里面存储的就是函数代码,通过f1加()的方式调用,没有f1变量的时候,直接在代码后面加上()就可以调用,叫函数的自调用

9.什么是回调函数呢?

所谓的回调函数,就是函数作为参数进行调用。值得说明的是,这种回调,在实际工作中使用非常广泛和频繁。

//函数声明,fn是变量,fn也是参数
function f1(fn){
 ?  fn();//函数调用----说明fn这个变量中存储的是一个函数
}
function f2(){
 ?  console.log("函数可以作为参数使用");
}
f1(f2);//调用f1,将f2作为参数传进去
//结果:函数可以作为参数使用

原文地址:https://www.cnblogs.com/BM-laoli/p/12394109.html

时间: 2024-10-01 21:15:59

JavaScript——数组&函数的相关文章

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

JavaScript 数组函数 map()

JavaScript 数组函数 map() 学习心得 map()函数是一个数组函数: 它对数组每个原素进行操作,不对空数组进行操作: 不改变原本的数组,返回新数组: arr.map(function(item,index,arr){ },thisValue); item是必须的,其他不是必须的,函数中return不是必须的,会自动返回item thisValue是可选的,对象作为该执行回调时使用,传递给函数,用作 "this" 的值.如果省略了 thisValue,或者传入 null.

Javascript数组函数库

其实平时用的比较多的应该是push和pop,不过还是都记下来,以便后面使用. shift :删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift :将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE

JavaScript数组函数unshift、shift、pop、push使用实例

如何声明数组 s中数组的声明可以有几种方式声明 复制代码代码如下: var tmp = [];  // 简写模式var tmp = new Array(); // 直接new一个var tmp = Array();  // 或者new也可以 在new数组的时候可以传入一个参数,表示数组的初始化长度 复制代码代码如下: // new的时候传入一个参数表示初始化数组长度var tmp = new Array(3);  alert(tmp.length);  // 3 但如果你想创建一个只有一个元素3

javascript 数组函数

声明数组 var tmp=[];//简写模式 var tmp= new Array();//直接new一个 var tmp=array(); //直接new一个 在new数组的时候可以传入一个参数,表示数组的初始化长度 var tmp = new array(); 数组的元素可以是任意的 var tmp=[3,true,8.5,'ssgao',[a,b],{'name':'lin'}]; unshift 在数组的第一个元素前插入元素 //使用unshift在数组第一个元素前插入元素,并返回数组长

JavaScript 常用函数总结

javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert函数:显示一个警告对话框,包括一个OK按钮.  (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.  (3)escape函数:将字符转换成Unicode码.  (4)eval函数:计算表达式的结果.  (5)isNaN函数:测试是(true)否(false)不是一个数字. 

javascript常用函数整理

javascript函数: 1.禁止鼠标右键菜单代码块 function stop() {     return false; } document.oncontextmenu = stop; //禁用鼠标右键 document.ondragstart = stop; //禁止拖动 document.onselectstart = stop; //禁止选择 2.判断打开的页面是否存在父页面 if (window.top == window.self && window.parent == 

Javascript 常用函数【2】

1.常规函数javascript常规函数包括以下9个函数:(1)alert函数:显示一个警告对话框,包括一个OK按钮.(2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.(3)escape函数:将字符转换成Unicode码.(4)eval函数:计算表达式的结果.(5)isNaN函数:测试是(true)否(false)不是一个数字.(6)parseFloat函数:将字符串转换成浮点数字形式.(7)parseInt函数:将符串转换成整数数字形式(可指定几进制).(8)promp

【javascript】javascript常用函数大全

javascript函数一共可分为五类:   •常规函数   •数组函数   •日期函数   •数学函数   •字符串函数   1.常规函数   javascript常规函数包括以下9个函数:   (1)alert函数:显示一个警告对话框,包括一个OK按钮.   (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.   (3)escape函数:将字符转换成Unicode码.   (4)eval函数:计算表达式的结果.   (5)isNaN函数:测试是(true)否(fals