JavaScriptの関数

5457 ワード

機能のパッケージです.5つのクラスに分けることができます.・一般関数・行列関数・日付関数・数学関数・文字列関数
一,js関数は2つの方法で定義できます.
・function宣言関数
 function add(x,y) {
    alert(x+y);
 }
・Functionの例も使用できます.
var add = new Function("x", "y", "alert(x+y);");
二、関数のいくつかの使用法:
//            add
var add = function(x, y) {
    alert(x + y);
};
add(3, 4);//7

//                
var arr = [1, 5, 4, 7];
arr = arr.sort(function(x, y) {
    return x - y;
});
alert(arr);//1,4,5,7

//        
alert( function(x, y) {
    return x + y;
}(3, 4));

//            
var f=function show(x){
    if(x<1) {
        return 1;
    }else{
        return x*show(x-1);
    }
};
ステートメント関数定義ステートメントは、トップレベルのスコープに属しています.関数呼び出しステートメントは、関数宣言文の前に書くことができます.
add(3, 4);//7
function add(x, y) {
    alert(x + y);
}
関数式で定義されている関数は、定義する前に呼び出せません.
また、Javascriptの関数は、タイプを返すことを宣言する必要はなく、returnキーを使って値を返します.関数がreturn文を含まない場合、または直接に「return」を使用します.関数の戻り値はundefinedです.
四,関数は他の関数に入れ子できます.内層関数は外層関数のパラメータと変数にアクセスできます.
function add(x, y) {

    function m(x) {
        return x+1;
    }

    return m(x) + m(y);
}

alert(add(1, 2));//5
五、関数の呼び出し関数体コードは、関数が呼び出された時に実行されます.全部で4つの呼び出し方法に分けられます.
alert("hello");

var result = add(1, 2);//    



function speak(name) {
    alert('hello,' + name);
};
var people = {};
people.say = hello;
people.say('praba');  //    

var obj = new Object();
function People(name) {
    this.name=name;
    console.debug(this);
}
var people = new People('praba');//      


var name = 'A';
var user = {
    name : 'B'
};
function showName() {
    alert(this.name);
}
showName();
showName.call(user);
//call()  ,apply()   call()   ,    ,               (       arguments      )。