【JavaScript】函数(未完全)

函数

创建方式

定义方式:

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

又是一个很神奇的语法。。。。

arguments

关键字arguments:指向当前函数调用时传入的所有参数。返回的方式类似Array,但是并不是一个Array


        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===0

原文地址:https://www.cnblogs.com/scott-lv/p/7753903.html