【JavaScript】函數(未徹底)

函數

建立方式

定義方式:code

function 函數名(參數){
    函數體
}

關鍵字建立對象

var 函數名=new Function('參數','參數','函數體')

由於函數能夠經過new方法來建立,能夠從側面看出函數具備的對象特性。函數也是對象的一類。索引

var x = function (a,b) {
            console.log(a+b);
        };
        x(2,3);
//
        var y = new Function('a','b','console.log(a+b)');
        y(4,5);
//這大概是我見過最蠢的建立函數的方法了,和語法描述的同樣,要把參數和函數體都用引號引發來,若是函數體內部還有引號或者使用字符串,就要用轉義符。就當個笑話看吧

調用參數傳入:
例如上面的例子,若是我調用函數的方法就是x(2),js解釋器會默認認爲我就傳入了a值,其中b的值就是undefined,因此返回的值就是NaN
可是若是,我調用的方法是x(a,3),就會直接報錯a is not defined字符串

又是一個很神奇的語法。。。。it

arguments

關鍵字arguments:指向當前函數調用時傳入的全部參數。返回的方式相似Array,可是並非一個Arrayio

function fuc(x) {
            for (var i=0;i<arguments.length;i++){
                console.log(arguments[i]);
            }
        }
        fuc(10,40,5,60)

從上述代碼中能夠看出這個argumens具備Array的索引和length的特性。
利用arguments能夠得到調用者傳入的全部參數,也就是說即便函數不定義任何參數,仍是能夠拿到一個值arguments.length===0console

相關文章
相關標籤/搜索