良いプログラマのWebフロントエンド共有機能のスコープと再帰

スコープのライフサイクル。

 

= 10があります。

 

関数M1(){ 

    = 5があります。

    警告(a)は、

}

 

パラメータ(仮パラメータ)と引数(実際のパラメータ)に有意な差

 

= 10があります。

 

VAR X = 0。

 

関数fn(x)は{

 

    X = A + 10。

 

}

 

FN (A)。 

 

再帰的用法

 

再帰とは何ですか?

 

彼らの通話そのもの!

 

関数PR(){

 

    リターンQ()

 

}

 

キーポイント:

 

1.終了条件

 

2.動作ルール

 

関数PR(N){

      

     IF(N == 1){//終了条件

          Nを返します。

     }

 

     戻り  + Q(N-1)ではありません。    

 

}

 

任意の数の印刷のHello Worldを。

 

関数PR(N){

 

    IF(N == 0){

        リターン

    }

 

    document.write( 'Hello Worldの!! <BR>');

 

    リターンQ(N-1)

 

}

(10)あたり

ケースは:見つける 5は、1 + 2 + 3 + 4 + 5を計算し、n個の数字をと

<!DOCTYPE HTML>

<HTML>

<ヘッド>

<メタ文字セット= "UTF-8" />

<タイトル> </ TITLE>

</ head>の

<身体>

 

</ BODY>

ます。<script type = "text / javascriptの">

//関数の宣言

関数getSum(X){

もし(x == 1){

1を返します。

}

X + getSum(X - 1)を返します。

}

//関数を呼び出します

console.log(getSum(5))。

</script>

</html>

案例:输出斐波那契额数列数列的前20项(递归)

 

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

</head>

<body>

 

</body>

<script type="text/javascript">

function fib(n) {

if (n == 1 || n == 2) {

return 1

}

return fib(n - 1) + fib(n - 2)

}

for (var i = 1; i <= 20; i++) {

document.write(fib(i) + '<br>')

}

</script>

</html>


おすすめ

転載: blog.51cto.com/14249543/2404911