<script> 
function aaa(name,age,sex) 

this.name=name; 
this.age=age; 
this.sex=sex 
this.shuchu=shuchu 

function shuchu() 

alert("名字:"+this.name+" "+"年龄:"+this.age+" "+"性别:"+this.sex) 

var bbb=new aaa("小明",18,"男") 
bbb.shuchu() 
</script> 
shuchu()函数,但在红字部分,没有加括号,但是在蓝字部分加了括号,我想问下,什么时候要加括号,什么时候可以不加括号?

解决方案 »

  1.   

    呵呵,还是没明白,在我的印象中,调用函数,当然要加括弧,只有一个函数名,谁知道是什么东东,说不定被当作变量哦,不明白javascript为什么这样设计?
      

  2.   

    加了括号的表示调用,也就是说它会被执行,没有加括号的是函数的引用赋值,即把shuchu函数的引用赋值给aaa的shuchu,这时候shuchu函数没有被调用,也没有被执行。感觉就像c中的函数指针一样,这时的函数名就是一个变量,不过它的值是一个函数的地址,或者引用。
      

  3.   

    obj.func = function () { doSomething(); };
    我这么写,你就明白了吧?
      

  4.   

    this.shuchu=shuchu ,表示函数shuchu()是函数aaa的一个成员变量,当创建一个aaa的实例化对象时,可以通过对象的属性来调用其成员变量。
      

  5.   

    函数名表示一个函数指针,将函数引用重新赋值this.shuchu = shuchu;this.shuchu 引用 shuchu 函数