【筆記】 《js權威指南》- 第8章 函數 - 8.2 - 8.3 函數調用 實參 形參

1.函數調用的4種途徑:

(1). 函數調用:最普通的調用

(2). 方法調用:保存在對象中的函數:

當方法不需要返回值時最好返回this,方便鏈式調用。

方法中的this指向這個方法所在的對象,在方法中嵌套的函數中的this指向全局對象或者undefined。

var o = {
    m: function() {
        var self = this;
        //true
        console.log(this === o);
        f();
        function f() {
            //false
            console.log(this === o);
        }
    }
};

(3).作爲構造函數:

在調用函數之前使用關鍵字new。

(4).通過call apply調用。


2.實參和形參:

(1).可選形參模板:

function f(a, /*  optional */ b) {
    b = b || [];
}
(2).可變長的實參列表:實參對象

arguments對象類似數組,保存參數列表,以及參數長度;

arguments.caller(非標準):指代調用當前函數的函數,可以用來顯示調用棧;

arguments.callee:指代當前調用函數,可以用來遞歸調用匿名函數;

var factorial = function(x) {
    if (x <= 1) return 1;
    return x * arquments.callee(x - 1);
}

(3).當一個方法可以接受任意數量的實參,可以這樣聲明:

function max(/* ... */)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章