假设有如下的一个类:
function classA(){
     this.sayA = function(){
         alert("A");
         }
     this.sayB = function(){
         alert("B");
         }
}但在使用sayA时,报“对象不支持此属性或方法”。
用for(o in sayA)证明方法是存在的。function testA(){
      var A = new classA();
      A.sayA(); //提示"对象不支持此属性或方法"。
      for(obj in sayA){
           alert(obj);  //能够发现此方法
      }
      alert(A.sayA); //此方法也能够把该方法打印出来
      显示:function(){
            alert("A");
            }
}上面的类只是用于测试,如果你直接使用的,可能不会出现这种问题,我就是想问,在什么情况下,什么原因有可能出现这种问题?

解决方案 »

  1.   


    <html>
     <head>
      <title> new document </title>
     </head> <body>
      <script type="text/javascript">
      <!--
    function classA(){
         this.sayA = function(){
             alert("A");
             }
         this.sayB = function(B){
             alert(B);
             }
    }
    var A = new classA();
    A.sayA(); // IE 7 下一切正常!
    A.sayB("Hello");
      //-->
      </script>
     </body>
    </html>
      

  2.   

    我现在的这个项目,类似于这种用法就出错了。
    var A = new classA();
    var B = new classB();可能A.sayA() 正常
    B.sayA() 就有可能出错这种问题我可真是从未遇到过,简直太奇怪了。
      

  3.   

    for(obj in sayA)
    应该是 A.sayA---------------
    还有我这边一切正常只是 A.sayA中没有任何属性、对象
    没有错误出现