如题,涉及代码如下:
<SCRIPT LANGUAGE="JavaScript">
//定义Obj类型
    function Obj(id){
       this.id = id;
    }
    //点击span触发事件
    function objAlert(obj){
       alert("obj: " + obj +"\nid: " + obj.id);
    }
    var obj = new Obj("1");
    //输出一个span,指定点击事件为objAlert,参数为obj
    document.write('<span onClick="objAlert(\'' +obj+ '\')">good</span>');
</SCRIPT>
当我点击页面上的good时,弹出窗内容为:
obj: [object Object];
id: [undefined]应该是可以取到obj,并且显示obj.id的,是不是document.write中objAlert的参数不是这样填的,求达人解答!

解决方案 »

  1.   

    document.write('<span onclick="objAlert(obj)">good</span>');
      

  2.   

    包一下吧<SCRIPT LANGUAGE="JavaScript">
    //定义Obj类型
      function Obj(id){
      this.id = id;
      }
      //点击span触发事件
      function objAlert(obj){
      alert("obj: " + obj +"\nid: " + obj.id);
      }
      var obj = new Obj("1");
      function test()
      {
          objAlert(obj);
      }
      //输出一个span,指定点击事件为objAlert,参数为obj
      document.write('<span onClick="test()">good</span>');
    </SCRIPT>
      

  3.   

     document.write('<span onClick="objAlert(\'' +obj+ '\')">good</span>');这里的obj变成字符串了...
    因为你有\'' +obj+ '\'
    一般的字符串是没有id属性的,自然成了undefined