通过调用和应用调用的Javascript函数可以';不能处理参数

通过调用和应用调用的Javascript函数可以';不能处理参数,javascript,function,parameters,call,undefined,Javascript,Function,Parameters,Call,Undefined,有人能解释一下为什么下面的代码返回未定义的2次吗 var test = function (theArr) { alert(theArr); }; test.call(6); //Undefined var theArgs = new Array(); theArgs[0] = 6; test.apply(theArgs) //Undefined JavaScript调用方法的语法

有人能解释一下为什么下面的代码返回未定义的2次吗

    var test = function (theArr) {
        alert(theArr);
    };

    test.call(6);               //Undefined

    var theArgs = new Array();
    theArgs[0] = 6;

    test.apply(theArgs)         //Undefined

JavaScript调用方法的语法:

fun.call(对象,arg1,arg2,…)


JavaScript应用方法的语法:

fun.apply(对象,[argsArray])

主要区别在于call()接受参数列表,而apply()接受单个参数数组

因此,如果您想调用一个函数来打印某些内容,并传递一个对象范围,以便在其中执行,您可以执行以下操作:

function printSomething() {
    console.log(this);
}

printSomething.apply(new SomeObject(),[]); // empty arguments array
// OR
printSomething.call(new SomeObject()); // no arguments

为什么需要使用call方法?您的意思是它在警报对话框中显示“Undefined”,对吗?因为任何地方都没有返回值。所以要显式地解决给定的代码:
test.call(this,6)
测试。应用(此,ARGS)谢谢!目前我正在从Jquery切换回Javascript的基础知识,这也需要一些时间来适应:)进一步澄清:
Object
参数指定执行函数时该
关键字将引用什么。