可以显式的传入名字,有点冗余之感function obja(v) {
  this.name = v;
}
var objtest=new obja("objtest");
var test=new obja("test");document.write(objtest.name); // out objtest
document.write(test.name); // out test

解决方案 »

  1.   

    难道没有更好的办法么?我把obja的所有方法都打出来了,也找不到它的名字!
    其实我不一定要得到它的名字,我是想用这个对象生成一段Html,同时它里面有一些方法,我想在Html中的事件中调用那些函数,怎么做啊?
    譬如
    function obja() {
      this.save =save;
      this.toHtml=getHtml;
    }
    function save(){
      ....
    }
    function getHtml(){
      /////onclick中我怎么调用到save()
      str="<td onclick="test.save();return;">save</td>"
    }
    var objtest=new obja();document.write(objtest.toHtml()); // out objtest
      

  2.   

    对呀
    function obja(name) {
      this.name = name; //保存传递过来的名字
      this.save =save;
      this.toHtml=getHtml;
    }
    function save(){
      ....
    }
    function getHtml(){
      /////onclick中我怎么调用到save()
      str='<td onclick="'+this.name+'.save();return;">save</td>';//this.name有对象创建时传入}
    var objtest=new obja("objtest");//传入名字以便以后使用document.write(objtest.toHtml()); // out objtest
    //当执行这一句时输出的是:<td onclick="objtest.save();return;">save</td>