JavaScript(3)

JavaScript


JavaScript 函数

1.JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。

2.向未声明的 JavaScript 变量分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
这条语句:

    carname = "Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

3. JavaScript 参数

  • 返回值

函数没有返回值时,其返回值是undefined

- 通过值传递参数

在函数中调用的参数是函数的隐式参数。
JavaScript 隐式参数通过值来传递:函数仅仅只是获取值。
如果函数修改参数的值,不会修改显式参数的初始值(在函数外定义)。
隐式参数的改变在函数外是不可见的。

  • 通过对象传递参数

在JavaScript中,可以引用对象的值。
因此我们在函数内部修改对象的属性就会修改其初始的值。
修改对象属性可作用于函数外部(全局变量)。
修改对象属性在函数外是可见的。

4.JavaScript 匿名函数

函数表达式可以存储在变量中,变量可以作为一个函数使用,也可以将匿名函数作为参数传递给其他函数,如果需要完成一次性的任务,可以用匿名函数

5.JavaScript 函数的重载

允许在同一范围内声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数或类型或顺序)必须不同,也可以说同一个运算符完成不同的运算功能,称之为重载函数
- 函数有不同的参数
- 函数有不同的参数类型

在JavaScript中,如果函数名一样会出现覆盖的情况,无法实现函数的重载
JavaScript并没有重载函数的功能,但是arguments对象可以模拟重载

JavaScript中每个函数都会有一个arguments对象实例arguments,它引用着函数的实参,可以用数组的下标方式”[]”引用arguments的元素

  • arguments.length 函数实参的个数
  • arguments.callee 引用函数自身

    // 通过这种方式你可以很方便的找到最大的一个参数的值:
    x = findMax(1, 123, 500, 115, 44, 88);
    
    function findMax() {
        var i, max = arguments[0];
    
        if(arguments.length < 2) return max;
    
        for (i = 0; i < arguments.length; i++) {
            if (arguments[i] > max) {
                max = arguments[i];
            }
        }
        return max;
    }
    
    // 创建一个函数用来统计所有数值的和
    x = sumAll(1, 123, 500, 115, 44, 88);
    
    function sumAll() {
        var i, sum = 0;
        for (i = 0; i < arguments.length; i++) {
            sum += arguments[i];
        }
        return sum;
    }
    

6.JavaScript 数组

数组是值得有序集合,每个值是数组的一个元素,每一个元素在数组都有一个位置,称为索引
- JavaScript数组是无类型的,数组的元素可以使任意类型,并且同一个数组中的元素可以是不同类型
- 数组的长度是可以动态变化的,可以添加和删除元素
- Array数组数组的有序列表,索引从0开始
- 他同一个数组可以存储不同类型的数据,也可以没有类型,但是每一个数组都有length属性

    var aColor = ["black", "green", "blue"];
    var num = [1, 2, 3];
    var empty = [];
    var wrong = [1,3,4,];//不要这样创建数组

    var people = new Array(5);
    people[0] = "WangHao";
    peopel[1] = "LiuQian";

    var places = new Array("CN", "UK", "USA", "JP");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值