for (key in object)
key在js里是object的成员名称,而不是成员引用值...object[key]才是引用值...

解决方案 »

  1.   

    你是客户端的JS?还是服务端的JScript???客户端与服务端要分清....
      

  2.   

    for(var p in document)
    {
       alert(p);//打出该对象的属性名称 或方法名称
    }
      

  3.   

    for(var p in document) 

      document[p]; //这样可以访问
    }
      

  4.   

    for(var p in document) 

         if(typeof document[p] == "function")
        {
    document[p]();//如果该成员是方法的话就可以这样调用
        }
    }
      

  5.   

    是客户端的。大家给的例子偏离了。可能是我说得不清楚吧。我要的例子是:已知道一个表的记录集是rs。使用javascript语言(客户端),写出 在网页上输出该记录集rs的每个字段名称的 代码。
    (需要说明的是字段名称,不是字段的值。也就是说,假设这个表有6列,那么输出就是6个,不管记录集(表)有多少条记录)用vbscript的for each...in已经可以实现了。
      

  6.   

    for (var i = 0, a = rs.fields, l = a.count ; i < l ;  i++) {
    Response.Write(a(i).Value);
    }完整代码
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <%
    function OP_DB() {
    var OP_DB = Server.CreateObject("Adodb.Connection");
    OP_DB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("/Access/Base.mdb");
    OP_DB.Open();
    return OP_DB;
    }
    var conn = OP_DB()var rs = Server.CreateObject("Adodb.RecordSet");
    rs.Open("SELECT TOP 18 * FROM [PMCase] WHERE [showPages] LIKE '%1%' ORDER BY [id] DESC", conn, 1, 1)
    for (var i = 0, a = rs.fields, l = a.count ; i < l ;  i++) {
    Response.Write(a(i).Value);
    }
    %>
    ps从来不用js写asp刚测了下这段代码通过.
      

  7.   


    很好的一段代码,收藏先。
    看来javascript中的for..in和vbscript的for each功能是不同的。