最近新学javascript,以前一直用c++或java,感觉js的语法好别扭。
function Person(name)  
{  
   this.name=name;  
   this.showMe=function()  
        {  
           alert(this.name);  
        }  
};  
var one=new Person('JavaScript');  
one.showMe(); 以上面的代码为例。1 首先是关于函数的括号问题。为什么this.showMe这里没加括号,而后面调用时one.showMe就加了括号呢?
1 function定义的对象有一个prototype属性,使用new生成的对象就没有这个prototype属性呢?比如 alert(Person.prototype)结果是object,而alert(one.prototype)结果就是underline。是因为one在这里只是一个引用吗

解决方案 »

  1.   

    this.showme是命名函数表达式,showme=function(){  }类似function showme(){    }
      

  2.   

    第二个 每个function都有prototype 但是你试试alert(typeof Person)和alert(typeof one)就发现了Person是函数而one是对象,当然没有one了
      

  3.   


    可是函数也是一种对象啊,每一个function都是Function类的实例对象。如果说对象没有prototype那函数也应该没有啊
      

  4.   


    我也是菜鸟,我这么说不知道对不对,但是你想想,函数是对象,可对象不一定是函数,Function类有prototype,难道其他一定要有?