天天看點

新手疑問------為什麼擷取不到函數中的值

有這樣的一道題

分析下面javascript代碼:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<script>

var l =

1

;

var n = m =

;

function myFun(x)

{

x = (x++) +

5

;

}

n = myFun(l);

function anotherFun(x)

{

x = (--x) +

5

;

}

m = anotherFun(n);

alert(n);

alert(m);

</script>

問輸出結果為:()

A.6
  10
      
B.6 
  4
      
C.6
  undefined
      
D.undefined
 undefined      

結果為D!!!!!

原因在于兩個function都沒有return,是以n就是undefined,然後m也就是undefined。

同樣,很多新手在剛開始使用函數操作值的時候會忘記return,是以導緻無法擷取函數内部的值。是以在函數内部加上return可以達到效果。