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