前端

JavaScript数组与函数

2019-04-17  本文已影响0人  无尾树袋熊

数组

  1. JavaScript中的数组和C语言中的数组一样, 都是用于存储一组数据的
  2. JavaScript中的数组可以存储不同类型的数据
  3. JavaScript中的数组是引用类型(对象), 所以提供了很多有用方便的属性和方法
  4. 数组长度是可变的
// var arr = new Array();
// arr = [1,2,3,4,5];
    
var arr = [1,2,"hello"];
console.log(arr);
  1. 数组的遍历,可以通过.length属性直接获取数组的长度
var arr = [1,2,"hello",false];
for (var i = 0;i < arr.length;i++){
    console.log("arr = " + arr[i]);
}

函数

  1. JavaScript中的函数和C语言中的函数几乎一样,用于封装一段代码方便复用
  2. JavaScript中的函数是引用类型(对象)
  3. JavaScript中的形参只用写形参名称即可,相当于占位
  4. JavaScript中的函数不用写返回值类型
//定义方式一:
function say(name) {
    console.log(name);
}
say("hello");
  1. 函数默认的返回值是undefined,返回具体值需写上return
  2. 函数也是一种数据类型,可以保存到一个变量中
//定义方式二:
    var say = function(name) {
        console.log(name);
        return res;
    };
    var res = say("hello");
    console.log(res); //undefined

特殊属性

  1. 函数是引用类型,所以也有属性和方法
  2. console.log();是通过()调用的, 所以log是一个函数
  3. log函数的特点是可以接收任意多个参数
  4. log函数的实现原理,用到了函数类型的一个属性arguments
  5. 函数内部默认有一个属性叫做arguments(伪数组,使用方式和数组很像,本质是一个对象)
  6. arguments的作用:用来保存外界传入的所有实参都会被保存到arguments属性中
  7. 通过函数中的agruments属性,可以实现可变参数的功能
    function sum() {
        var res = 0;
        for (var i = 0;i < arguments.length;i++){
            res += arguments[i];
        }
        return res;
    }
    var res = sum(1,2,3);
    console.log(res); //6

函数作为参数和返回值

  1. JavaScript中的函数是一种数据类型, 可以作为其他函数的参数和返回值
  2. JavaScript中的==函数可以嵌套定义==
//作为参数
    var say = function () {
        console.log("hello");
    };
    function demo(say) {
        say();
    }
    demo(say);
//作为返回值
    function demo() {
        var say = function () {
            console.log("hello world");
        };
        return say;
    }
    var res = demo();
    res();

匿名函数

  1. 匿名函数:没有名称的函数
  2. 应用场景:
    1. 作为其他函数的参数
    2. 作为其他函数的返回值
    3. 作为立即执行的函数
  3. JavaScript中的匿名函数不能独立存在
//作为其他函数的返回值
    function demo() {
        return function () {
            console.log("hello world");
        };
    }
    var res = demo();
    res();
//作为其他函数的参数
    function demo(say) {
        say();
    }
    demo(function () {
        console.log("hello zx");
    });
  1. 作为立即执行的函数
  2. 立即执行的匿名函数,必须用一个()将所有代码括起来才能调用
    (function(){
        console.log("匿名函数");
    })();
上一篇下一篇

猜你喜欢

热点阅读