javascript function

一、function有兩種創建方式:
1).聲明一個function函數

function functionName(parameters) {
}

2).聲明爲一個function表達式,它是一個匿名函數,函數可以存儲在變量中,不需要函數名,通過變量名來調用
eg:

var x = function (a, b) {return a * b};

應用舉例:

var x = function (a, b) {return a * b};
var z = x(3,4);

二、function函數聲明也存在“提升”行爲,即聲明語句會被移動到當前範圍的上面,可以先使用,再聲明
eg:

myFunction(5);
function myFunction(y) {
    return y * y;
}

注:function表達式不存在“提升”行爲

三、自我調用函數
自我調用函數會自動調用,不需要顯示調用
將function表達式包含在括號中,這就是一個自我調用function表達式,後接一個括號表示構造便可自我調用。
應用舉例:

(function (x, y) {
   document.getElementById("demo").innerHTML = x*y;
})(4,1); //這有一個括號

注意:自我調用函數中聲明的變量是不能在外部使用的,是一個局部變量

function函數的參數是不指定數據類型的
function函數不執行傳入值的數據類型檢查
function函數也不檢查收到的參數個數

arguments對象:function的內置對象,它是一個參數數組,但是是按值傳遞,只知道參數值,不知道參數位置,因此即便改變了arguments中的值,也不會改變外界傳入參數的原值。這與按址傳入不同
應用舉例:

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

四、function函數的調用
當一個function函數不是通過擁有者(對象)來調用,那麼它是被window對象調用,使用window對象調用方法有時可能會帶來一些衝突。因此使用對象來調用function函數更好些。
應用舉例:

var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName(); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章