Cocos-Js准备(三)-函数

时间:2021-09-21 18:14:26

在JavaScript中,函数是第一等对象,不仅因为它既可以像普通对象一样拥有属性和方法,而且重要的是它可以被调用。简单来说它们是Function对象。

一个简单的函数

var add = function (a,b) { return a + b; } console.log(add(1,2));
//输出结果 3

闭包

function Test() {
    var i = 0;
    var f = function () {
        return i++;
    }
    return f;
}
var f = Test();
console.log(f());
console.log(f());

函数属性

使用arguments对象

函数的实际参数会被保存在一个类似数组的arguments对象中。在函数内,你可以按如下方式找出传入的参数:
arguments[i];//i为数组下标
function Test() {
    var sum = 0;
    for(var i = 0;i < arguments.length; ++i)
    {
        sum += arguments[i];
    }
    console.log(sum);
}
Test(1,2,3,4);
//输出结果 10
length属性
指函数有多少个必需要传入的参数,默认的参数不算
如:
function (x=0);的length为0;

函数的方法

函数也是对对象,具有一些自带的方法

call(): 使用一个指定的this值和若干个指定的参数调用某函数
fun.call(thisArg[,arg1[,arg2[,arg3]]]);

apply():方法在指定this值和参数(参数以数组或类数组对象的形式存在)的情况下调用函数
fun.apply(thisArg[,argsArray]);

bind():此方法会创建一个新的函数,当新函数被调用时,bind()的第一个参数将作为它运行时的this
func.bind(thisArg[,arg1[,arg2[,arg3]]]);