调用Javascript函数时,幕后会发生什么
有人能解释一下在下面的场景中会发生什么吗:(这是一个面试问题)调用Javascript函数时,幕后会发生什么,javascript,function,Javascript,Function,有人能解释一下在下面的场景中会发生什么吗:(这是一个面试问题) 有人问我javascript是如何调用这些方法的,以及在这个场景中幕后会发生什么情况如果您按照这个顺序运行,test(a)将被test(a,b)替换 当callTest()运行时,测试(a)将发出警报(a,未定义),然后测试(a,b)将发出警报(a,b)Agreed-JS没有方法重载的概念。你说的“幕后”是什么意思?听起来像是一个相当激烈的面试问题。我希望他们会问警报对话框的内容是什么…alert只接受一个参数,所以第二个参数将被忽
有人问我javascript是如何调用这些方法的,以及在这个场景中幕后会发生什么情况如果您按照这个顺序运行,test(a)将被test(a,b)替换
当callTest()运行时,测试(a)将发出警报(a,未定义),然后测试(a,b)将发出警报(a,b)Agreed-JS没有方法重载的概念。你说的“幕后”是什么意思?听起来像是一个相当激烈的面试问题。我希望他们会问警报对话框的内容是什么…
alert
只接受一个参数,所以第二个参数将被忽略。谢谢,这已经解释得很好了。
function test(a){
alert(a);
}
function test(a,b){
alert(a,b);
}
function callTest(){
test(a);
test(a,b);
}
function test(a){ // f1. never called.
alert(a);
}
function test(a,b){ // f2. overwrite f1 function because name of two functions is same.
alert(a,b);
}
function callTest(){
test(1); // called f2 with (1, undefined)
test(1,2); // called f2 with (1, 2)
}
callTest();