熟練掌握JavaScript函數這四種方法,離javaScript高手又進一步!
函數是由若干代碼構成,具有獨立功能的程序。在面向對象的編程語言中(java、c++、php等)函數又稱為方法。函數的出現大大提高了編程效率,也便于編程模塊化。今天主要為大家講解JavaScript中常見的幾種使用方法。這幾種方式的不同的地方在與this 的初始化。
***種使用方法:作為單獨的函數使用
如下代碼
- function testFunction(A, a)
- {
- return A * a*A;
- }
- testFunction(10, 2); // testFunction(10, 2) 返回200。
在這個例子中函數test在調用中被執行,這種情況下函數在JavaScript中是全局對象。因為在html中默認全局對象就是頁面本身,所以函數也屬于html頁面。如果是在瀏覽器中頁面對象是瀏覽器窗口,函數test會自動變為windows對象的函數,在這種情況下testfunction()和window.testFunction()是沒有區別的。
第二種使用方法:函數作為全局對象使用
如下代碼
- function mytestFunction()
- {
- return this;
- }
- mytestFunction();
這種情況下函數沒有自身對象調用,this的值會變成全局對象,this的值是windows對象,如果是在瀏覽器中全局對象是瀏覽器窗口。
第三種使用方法:函數作為方法使用
在JavaScript 中也可以定義對象方法(函數),代碼如下:
- var myshili = {xing:"zhang", ming: "san", mytest:function(){document.write(this.xing + " " + this.ming)}}
- myshili.mytest();
上面的創建了一個對象myshili,找個對象有兩個屬性xing和ming,還有一個方法mytest, 這段代碼返回值是 "zhang san"。
第四種使用方法:構造函數調用函數
函數調用前出現了new這個關鍵字,則使用了構造函數,這并不是單純的創建新的函數,而是javascript函數重新創建了的對象。代碼如下:
- function testFunction(arg1, arg2) {
- this.firstName = arg1;
- this.lastName = arg2;
- }
- var x = new testFunction("John","Doe");
- x.firstName;
新對象會繼承構造函數的屬性和方法。