(9) 函数

函数

1. 定义

  1. 普通函数
function fun (arg1, arg2, arg3...) {
    statements
}

fun();  // 调用
  1. 函数表达式
var fun = function (arg1, arg2, arg3....) {
    statements;
}

fun();  // 调用
  1. Function关键字
var fun = new Function('arg1', 'arg2', 'statements');
fun();  // 调用
  1. 箭头函数(ES6)
var fun = (arg1, arg2, arg3) => {
    statements;
}

fun();  // 调用

2. 函数特性

  1. 模拟函数重载

    function doAdd () {
        if (arguments.length === 1) {
            alert(arguments[0] + 10);
        } else if (arguments.length === 2) {
            alert(arguments[0] + arguments[1]);
        }
    }
    doAdd(10);
    doAdd(10, 20);
    
  2. 值永远与对应命名参数的值保持同步

    function doAdd (num1, num2) {
        arguments[1] = 10;
        alert(arguments[0] + num2);
    }
    
    1. 此处修改了arguments[1]的值,那么num2的值也被修改为10
    2. 但是arguments[1]和num2也是两块相同的内存空间(相互独立,值会同步)
    3. 但是如果传递了一个值,arguments[1]就没有作用了
    

未完待续(this关键字改变,闭包)。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。