1、JS函數詳解javascript
語法格式:
function 函數名(參數列表) {java
js邏輯代碼
}
函數調用:函數名(實際參數);
注意:必定要加上小括號數組
重點:
函數須要被調用才能執行。
js中,若是函數須要返回值咱們直接return就好了。定義函數的時候不須要聲明返回值的類型,由於js是弱數據類型,返回什麼數據類型都是var。
在js中,若是咱們須要給函數傳遞參數,那麼咱們直接寫變量名就行,不須要聲明傳入變量的類型。
在js中,不存在函數重載的概念,若是2個函數名相同,後面出現的函數會覆蓋前面的函數。
若是函數的聲明帶有參數,可是調用時不帶參數,函數也能夠正常被調用。
若是函數聲明時沒有參數列表,調用的時候傳入參數,函數也能照樣執行。
在JS中,可使用arguments來獲取實際傳入的參數。arguments是實參的參數數組。函數
[JavaScript] 純文本查看 複製代碼
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<script type="text/javascript">code
/* * 函數定義格式: * function 函數名(參數列表) * {} */ //定義一個函數 function fn() { console.log(12); } //一、函數須要被調用才能執行。 fn(); //二、js中,若是函數須要返回值咱們直接return就好了。 //定義函數的時候不須要聲明返回值的類型,由於js是弱數據類型,返回什麼數據類型都是var。 //定義一個函數 function fn1() { return 'hello'; } //調用函數 var result=fn1(); console.log(result); //三、在js中,若是咱們須要給函數傳遞參數,那麼咱們直接寫變量名就行,不須要聲明傳入變量的類型。 //定義一個函數 function fn2(a) { console.log(a); }
// fn2(3);對象
fn2('hello'); //四、在js中,不存在函數重載的概念,若是2個函數名相同,後面出現的函數會覆蓋前面的函數。 //定義一個函數 function fn3() { console.log('world'); } function fn3() { console.log('js'); } //調用函數 fn3();//;'js'[/size][/font]
font=微軟雅黑 </script>/size
font=微軟雅黑ip
[JavaScript] 純文本查看 複製代碼
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/size
font=微軟雅黑//五、若是函數的聲明帶有參數,可是調用時不帶參數,函數也能夠正常被調用。字符串
//定義帶有參數的函數 function fn4(a,b) { console.log(a+'函數被執行了'+b); } //調用函數 //注意:若是不傳遞任何數據,參數顯示是undefined fn4();//undefined函數被執行了undefined var c; console.log(c);//undefined //六、若是函數聲明時沒有參數列表,調用的時候傳入參數,函數也能照樣執行。 //定義函數 function fn5() { console.log('函數被執行了'); } //調用函數 fn5(14,23);//函數被執行了 //7.在JS中,可使用arguments來獲取實際傳入的參數。arguments是實參的參數數組。 //定義函數 function fn6() {
// console.log(arguments);get
//遍歷數組 for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } //調用自定義函數 fn6(12,34);[/size][/font]
font=微軟雅黑io
2.匿名函數
語法格式:
function (參數列表) {
js邏輯代碼
}
注意:匿名函數沒有辦法直接調用
2.1使用場景
第一種:將匿名函數賦值給一個變量,使用變量調用函數。
定義函數並賦值給變量:
var fn = function(參數列表) {
js邏輯代碼
};
調用函數:fn(實際參數);
[JavaScript] 純文本查看 複製代碼
?
1
2
3
4
5
6
7
8
9
/size
font=微軟雅黑//定義一個匿名函數
var fn7=function() { console.log('匿名函數被執行了'); } //執行上述匿名函數 fn7();[/size][/font]
font=微軟雅黑
第二種:匿名函數直接做爲另外一個函數的實際參數傳遞。
function xxx( 數字類型參數,字符串類型的參數,函數類型的參數 ) {
js邏輯代碼
}
調用該函數: xxx( 100,」abc」,function(){…} );
[JavaScript] 純文本查看 複製代碼
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
/size
font=微軟雅黑//定義一個函數,第二個參數y接收一個匿名函數
function fn8(x,y) { //輸出x和y console.log('x='+x);//x=100 console.log('y='+y);//y=function(){console.log(5);} //調用匿名函數 y(); } //調用函數,第二個參數是匿名函數 fn8(100,function(){ console.log(5); }); [/size][/font]
font=微軟雅黑
3.獲取元素方法名描述document.getElementById(id名稱);經過元素(標籤)的id屬性值獲取標籤對象,返回的是單個的標籤對象注意:只能從document下面去獲取document.getElementsByName(name屬性名稱);經過元素(標籤)的name屬性值獲取標籤對象,返回的是標籤對象的數組。注意:只能從document下面去獲取document/parentNode.getElementsByTagName(標籤名);經過元素(標籤)的名稱獲取標籤的對象,返回的是標籤對象的數組。注意:能夠從document或者某一個父級標籤下面去獲取document/parentNode.getElementsByClassName(類名);經過元素(標籤)的class屬性獲取標籤對象,返回的是標籤對象的數組。注意:能夠從document或者某一個父級標籤下面去獲取