JavaScriptノートを整理する(五)
15346 ワード
1.3関数
1.3.4パラメータ
関数が呼び出されると、関数を呼び出した時に入ってきたパラメータです.
一つの関数は常に値を返します.指定されたリセット値がないとundefinedに戻ります.
JavaScriptは基本タイプの拡張機能を許可します.Object.prototypeに方法を追加します.
再帰関数とは、直接または間接的に自身を呼び出す関数のことです.フィボラジカルの数列を計算する場合:
スコープとは、変数のもう一つのコードブロックの視認性を指し、ネーミングの衝突を減らしました.
私のブログへようこそ.zhe------内容は個人整理です.間違いがあれば、ご指摘ください.ありがとうございます
1.3.4パラメータ
関数が呼び出されると、関数を呼び出した時に入ってきたパラメータです.
var sum = function(){
var s = 0;
for(int i = 0; i < arguments.length; i++){
s += arguments[i];
}
return s;
}
sum(1, 2); // 3
sum(1, 2, 3); // 6
1.3.5戻る一つの関数は常に値を返します.指定されたリセット値がないとundefinedに戻ります.
var a = function(){
return "a";
};
a(); // "a"
var b = function(){};
b(); // undefined
1.1.6異常var add = function(a, b){
if(typeof a !== "number" || typeof b !== "number"){
throw {
name: "TypeError",
msg: "Not A Number"
};
}
return a + b;
}
throw文中断関数の実行後にexceptionオブジェクトを投げます.オブジェクトはtry...catch文で捉えられます.var tryCatchFn = function(){
try{
add("a", 1);
} catch(exception){
console.log(exception.name + ": " + exception.msg);
}
}
tryCatchFn(); // TypeError: Not A Number
1.3.7拡張タイプの機能JavaScriptは基本タイプの拡張機能を許可します.Object.prototypeに方法を追加します.
Function.prototype.create = function(name, func){
//
if(!this.prototype[name]){
this.prototype[name] = func;
}
return this;
}
整数に変換する関数を作成します.Number.create("integer", function(){
return Math[this < 0 ? "ceil" : "floor"](this);
});
(-4 / 3).integer(); // -1
文字列の前後のスペースを削除する関数を作成します.String.create("trim", function(){
return this.replace(/^\s+|\s+$/g, "");
});
" abc ".trim(); // "abc"
1.3.7再帰再帰関数とは、直接または間接的に自身を呼び出す関数のことです.フィボラジカルの数列を計算する場合:
var fibonacci = function(n){
if(n == 1 || n == 2){
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
fibonacci(6); // 8
// fibonacci(5) + fibonacci(4) =>
// fibonacci(4) + fibonacci(3) + fibonacci(3) + 1 =>
// fibonacci(3) + 1 + 1 + 1 + 1 + 1 + 1 =>
// 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 =>
// 8
fibonacci(10); // 55
1.3.8スコープスコープとは、変数のもう一つのコードブロックの視認性を指し、ネーミングの衝突を減らしました.
var fn = function(){
var a = 1;
var b = 2;
var fn2 = function(){
var b = 3;
var c = 4;
a += c;
// a = 5; b = 3; c = 4;
};
// a = 1; b = 2; c
fn2();
// a = 5; b = 2; c
};
関数fnで定義された変数は、fn 2で見られます.これは、関数fn 2でfn関数を使用する変数に非常に注意する必要があります.一番いい方法は、関数の上部にある宣言関数が使用できるすべての変数です.私のブログへようこそ.zhe------内容は個人整理です.間違いがあれば、ご指摘ください.ありがとうございます