可以用两个参数啊
function A(){
  var m;
  B(m,"m");//一个是值,一个是字符串
}
function AA(){
  var j;
  B(j,"j");
}
function B(x,y){
   alert(y)
  //能不能通过类似的属性实现,在A、AA调用B时返回不同的返回字符串‘m’或‘j’呀?
  return x.name;//
}

解决方案 »

  1.   

    有一个属性叫做 callerfunction B(x){
      alert(B.caller);  //看看得到的是什么??得到的是调用 B() 函数的那个函数对象
      return x.name;//
    }
      

  2.   

    我是想在B()函数里提示debug信息,函数名称、参数名称、参数值等,是为了少一个参数[参数名称],可以方便不少。
    用B.caller 处理后倒可以把函数名称这个参数省去了  ^_^,
    别的还在try----
      

  3.   

    不可以!var a=1;
    foo(a);
    function foo(v) {
     //在这里是看不见a的,以为变成了v
    }

    var a=1;
    foo(1);
    function foo(v) {
     //在这里你是不能知道传入的v究竟是变量还是标量的
    }但是你始终都可以知道究竟传入了多少参数及他们的值和类型
      

  4.   

    To   xuzuning(唠叨):
         看来只能多加参数才能实现了,函数调用一般传入的是值,不是按变量传递的,可能真的不能实现了。