javascript.03関数定義、関数パラメータ(形参、実参)、関数の戻り値、発泡関数、関数のロード、局部変数と大域変数、暗黙的大域変数、JS事前解析、素数、フィボナッチ数列かどうか…
9444 ワード
1.1知識点関数:繰り返し実行できるコードブロック です.. 構成:パラメータ、機能、戻り値 はなぜ関数を使うのですか?一部のコードの使用回数が多いので、パッケージ化します.必要な時は を呼び出します.関数は起動しません.自分では を実行しません.同名の関数は、前の をカバーします.関数名は関数全体に等しく、関数名を印刷することは、関数全体を印刷するコード に等しい.. 関数をロードするときは、関数名のみをロードし、関数体 をロードしません.パラメータは、局所変数 に相当する.の2つのフラットレベルの関数で変数は相互に影響しません. . 事前解析:関数はドキュメントを説明する時、ドキュメントの一番前に言及されます.ロードとは違います. 第一種類:解析する時は早めになります.どこでも利用できます.
1.2関数の定義第一種類:解析する時は早めになります.どこでも利用できます.
1.function fun(a,b){関数体;return; } の第二の種類:関数は前倒しされません.使用は定義の後でなければなりません.
2.var fn 2=function(){関数体}
3.//関数名はあってもなくてもいいです.匿名関数という名前はありません. 第3の種類:関数は前倒しされません.使用は定義後でなければなりません.関数体に引用符を付けないと、呼び出しなくても実行されます.
1.var fn 3=new Function(「関数体」);
1.3関数のパラメータ パラメータを設定すると、修正値が規則を変更しないという問題を解決できます. は、関数の機能性を強化し、プログラマとの相互作用、および関数の拡張可能性を高める . JSは を積載する方法がありません.規則にはいくつかの変化の数があります.いくつかのパラメータ を定義します.関数は、入れ子可能な です.開閉原則 Math.sqrt();開平方 形参形式で演算に参加する値は、実参加位置 として機能します.実際に演算に参加した値 実際に演算を行うには、モダリティの位置が必要です. 等しいです.正常に を実行します.実参加個数は形参より大きく、正常に実行され、多くの廃棄物は を使わない.モダリティが参より大きく、プログラムが間違っているかどうかを確認します.
実際の参
形の数と実の数は違います.
a) 計算はNaNを得ることができます
b) 実装値はundefinedです. 与えられた実参の形はundefinedです.
c) 任意の値とundefined計算の両方のNaN
1.4戻り値 実行関数が完了したら、戻りデータ 関数プログラムが実行された後、外で使用する必要がある場合、直接与えられません.returnを通じて に戻ります.機能:関数実行が完了したら、結果は戻り値 です.は、リターンの関数があります.逆に はありません.は、関数内部の値を外部 に与えます.. returnがない場合、またはreturnだけ値がない場合、関数はデフォルトでundefined に戻ります.関数は、returnを実行したらすぐに終了します.returnの後のコードは を実行しません.関数の戻り値は実行しなければなりません. を得ることができます.外部でその値を使うなら、私達はどの値を返しますか? リセットは、サイクル を切断することができます. Math.round()四捨五入 Math.pow(a,n)、aのn乗 Math.flor()、床関数 var s = Math.flor(Math.randow()*(max-min+1)+min)//min-max間の乱数 を生成する.関数内で使用される必要があるのは、モジュラスの配列 である. bubble 発泡 発泡体のソート限界が発生すると問題が発生します.
1.5関数名、関数体、関数のローディング問題 印刷関数名は、関数全体を印刷したコード と同じです.印刷実行関数は、印刷関数の戻り値 に等しい.
a) 関数パッケージ関数は、まず内部関数を実行します.
3. JSがロードするときは、関数名のみをロードし、関数体をロードしません.
1.6変数のスコープ
ローカル変数ローカルのみアクセス可能な変数 関数内部のvarで定義された変数 関数が実行された後、局所変数が回収されます.
グローバル変数(メンバー変数) どこでもアクセスできる変数 は、関数の内部で変数を直接定義し、varを除いてグローバル変数として、関数が実行されなければ を使用できません.
1.7暗黙的なグローバル変数(このように書かないでください)一般的な存在関数の中の a) var a=b=c=1;/この場合、bとcはすべて暗黙的なグローバル変数です.
b) var a=1;b=2;c=1;/この場合、bとcはすべて暗黙的な集合体変数で、セミコロンは改行に相当します.
c) var a=1,b=2, c=1;/この場合、bとcは暗黙的なグローバル変数ではない.
1.8事前解析:JS解像器文法エラーを確認してください. 変数宣言アップグレード(変数名のみアップグレードし、変数値をアップグレードしない) コンテンツをメモリにロードする a) オブジェクトをスタックにロード
b) 単純なタイプをスタックにロード functionで定義された関数の全体アップグレード a) 関数内でも適用されます.
b) 近くの原則
5. 事前解析(全体的な昇格関数)と関数ローディング(関数名のみローディング)の違い
6. 前解析:scriptタグ内の文法を確認し、関数宣言を向上させる.
7. 関数のロード:関数をメモリにロードします.
8. 解析してからロードする
転載先:https://www.cnblogs.com/mingm/p/6590135.html
1.function fun(a,b){関数体;return; }
2.var fn 2=function(){関数体}
3.//関数名はあってもなくてもいいです.匿名関数という名前はありません.
1.var fn 3=new Function(「関数体」);
1.3関数のパラメータ
実際の参
形の数と実の数は違います.
a) 計算はNaNを得ることができます
b) 実装値はundefinedです. 与えられた実参の形はundefinedです.
c) 任意の値とundefined計算の両方のNaN
1.4戻り値
1 var arr = [4,435,234,1223,645,341,123,124,562];
2 function bubble(arr) {
3 for(var i=0;i){
4 var flag = true;
5 for(var j=0;j){
6 if(arr[j]>arr[j+1]){
7 var temp = arr[j];
8 arr[j] = arr[j+1];
9 arr[j+1] = temp;
10 flag = false;
11 }
12 }
13 if(flag){
14 break;
15 // return(arr) , , , ,
16 }
17 }
18 return(arr);
19 }
20 // console.log(bubble(arr))
18.関数の計算による数は普通半製品で、二次加工が必要です.1.5関数名、関数体、関数のローディング問題
a) 関数パッケージ関数は、まず内部関数を実行します.
3. JSがロードするときは、関数名のみをロードし、関数体をロードしません.
1.6変数のスコープ
ローカル変数
グローバル変数(メンバー変数)
1.7暗黙的なグローバル変数(このように書かないでください)
b) var a=1;b=2;c=1;/この場合、bとcはすべて暗黙的な集合体変数で、セミコロンは改行に相当します.
c) var a=1,b=2, c=1;/この場合、bとcは暗黙的なグローバル変数ではない.
1.8事前解析:JS解像器
b) 単純なタイプをスタックにロード
b) 近くの原則
5. 事前解析(全体的な昇格関数)と関数ローディング(関数名のみローディング)の違い
6. 前解析:scriptタグ内の文法を確認し、関数宣言を向上させる.
7. 関数のロード:関数をメモリにロードします.
8. 解析してからロードする
//
1 function isPrime(n){
2 for(i=2;i3 if (n%i == 0 ){
4 return false;
5 }
6 }
7 return true;
8 }
9 confirm (isPrime(7));
1 function fibonacci(n){
2 if (n<3){
3 n=1;
4 return n;
5 }else {
6 var k = 1, j = 1;
7 for (i = 3; i <= n; i++) {
8 j = j + k;
9 k = j - k;
10 }
11 return j;
12 }
13 }
入力年月日を取得して、今年の何日目になりますか? console.log(getDay(2016,3,1));
function getDay(year,month,day){
var arr = [31,28,31,30,31,30,31,31,30,31,30,31];
var sum = day;
if(year%4==0 && year%100!==0 || year%400==0){
arr[1]=29;
}
for(var i=0;i){
sum += arr[i];
}
return sum ;
}
転載先:https://www.cnblogs.com/mingm/p/6590135.html