我现在有个问题,到底javascript中那个是类?那个是对象的问题??
functon Car(){
alert("q");}这个Car应该理解为对象还是类,我觉得因该是对象,因为这个函数可以由这种形式开的var Car= new Function("alert(q)")谁可以解释一下我的迷雾??谢谢!!!!!

解决方案 »

  1.   

    建议看看jscript中文手册里的jscript基础一节
      

  2.   

    确实,js中所谓的类声明就是函数对象的实例。
    js本来就不是OO的,最多也就是Object-Based,不管使用OO或函数式编程去理解使用它,必然会增加学习成本,
    所以我认为不必去过多考虑这些原本不属于js的概念,让原本简单的js保持其简单性就好.
      

  3.   

    javascript里面没有类这个东西,都是对象,只不过可以模拟类的一些内容
      

  4.   

    用类的方式理解js你这个
    function Car(){alert("q");}
    传统的理解:是Function类的一个函数对象,不是纯函数   Car()调用  Car是这个对象名另类的理解:这既不是函数,也不是对象,是类  你可以运行 var c=new Car();看看把它改造下
    function Car(){this.brand='BMW';alert('q');}
    再运行 var c=new Car();alert(c.brand); 看看再扩展下
    function Car()
    {
      this.brand='';
      this.price='';
      this.init=function(){this.brand='BMW';this.price=200000;}
      this.init();
    }
    再运行 var c=new Car();alert(c.price); 看看现在的Car就比较有类的结构了
    -----------------这个
    var Car= new Function("alert(q)")
    只是Function类的一个实例函数匿名对象,是真正的纯函数,没有对象名,并且把它赋给了一个引用变量Car  Car()调用 Car是这个对象的引用名
    你就把Object,Function,Array,String......当做类,不用想那么底层,这样就很好理解了
      

  5.   

    参考一下这个文章http://www.cnblogs.com/lucas/archive/2009/03/17/1411656.html,就基本明白了