萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript四種調用模式和this示例介紹

JavaScript四種調用模式和this示例介紹

 JavaScript調用時除了聲明時定義的形參外,每個函數接受兩個附加參數:this 和arguments,下面為大家介紹下JavaScript四種調用模式和this

JavaScript調用時除了聲明時定義的形參外,每個函數接受兩個附加參數:this 和arguments,this在面向對象編程中非常重要,它取決於調用模式。    JavaScript有四種調用模式,方法調用模式,函數調用模式,構造器調用模式和apply調用模式。這些模式在初始化關鍵參數this上存在差異。    方法調用模式:當一個函數被保存為對象的一個屬性時,我們稱它為一個方法,當一個方法被調用時,this被綁定到該對象上。如果調用表達式包含一個屬性取表達式(即一個.點表達式或[script]下標表達式),那麼它被當做一個方法調用。   代碼如下: var myObject = {  value: 0;  increment: function(inc){  this.value += typeof inc === 'number' ? inc : 1;  }  };    myObject.increment();  document.writeln(myObject.value);//1    myObject.increment(2);  document.writeln(myObject.value);//2    方法可以使用this去訪問對象,所以它能從對象中取值或修改對象。this的綁定發生在調用的時候。這個超級遲綁定使得函數可以對this高度復用。通過this可以取得他們所屬的上下文方法稱為公共方法。    函數調用模式:當一個函數並非一個對象的屬性時,那麼它被當做一個函數來調用 var sum = add(3, 4);//sum值為7  當函數以此模式調用時,this被綁定到全局對象。    構造器調用模式:JavaScript是一門基於原型繼承的語言。這意味著可以直接從其他對象繼承屬性。該語言是無類別的。  如果在函數前面帶上new來調用,那麼將創建一個隱藏連接到該函數的prototype成員的新對象,同時this將會被綁定到那個新對象上。    Apply調用模式:因為JavaScript是一門函數式的面向對象編程語言,所以函數可以擁有方法。  apply方法讓哦我們構建一個參數數組並用其去調用函數。它也允許我們選擇this的值。  apply方法接受兩個參數,第一個將被綁定給this的值,第二個就是一個參數數組。   
copyright © 萬盛學電腦網 all rights reserved