The caller property contains the Arguments object of the calling function.
If the given function was not executed from another function, arguments.caller is null.
<html>
<form>
<input type="button" value="A" OnClick=myFunction(this,"A")>
<input type="button" value="B" OnClick=myFunction(this,"B")>
<input type="button" value="C" OnClick=myFunction(this,"C")>
<input type="button" value="D" OnClick=myFunction(this,"D")>
<input type="button" value="E" OnClick=myFunction(this,"E")>
</form>
<script language="JavaScript">
<!--
function displayArgLength()
{
var argLengthStr = "The calling function contained ";
argLengthStr += arguments.caller.length;
argLengthStr += " arguments.";
alert(argLengthStr);
}
function myFunction()
{
var aString = arguments[0].value;
aString += "'s is ";
aString += arguments[1];
alert(aString);
displayArgLength();
}
-->
</script>
</html>