2012-04-28 33 views
0

在下面的javascript代码中我看到有一个使用命令的函数,但它没有指定函数的名称。这是关于什么的?在Javascript中使用函数

var getReview = function(movie) { 
    switch (movie) { 

    case "Matrix": 
     return "good trip out"; 
     break; 
    case "Princess Bride": 
     return "awesome date night movie"; 
     break; 
    case "Welcome to America": 
     return "Amjad's favorite"; 
     break; 
    case "Remember the Titans": 
     return "love the sports"; 
     break; 
    case "Why do I look like I'm 12?": 
     return "The Ryan and Zach story"; 
     break; 
    case "Fighting Kangaroos in the wild": 
     return "Token Australian movie for Leng"; 
     break; 
    default: 
     return "I don't know!"; 
    } 
};​ 

回答

2

这是一个anonymous function

从上面的链接引用:

匿名函数所使用的函数运算符声明。你可以使用函数运算符 来创建一个新的函数,无论它在哪里有效, 来表达一个表达式。例如,您可以声明一个新函数作为函数调用的参数或指定另一个对象的属性。

这里就是一个函数以常规方式使用函数语句声明的例子:

function eatCake() { 
    alert("So delicious and moist"); 
} 
eatCake(); 

这里的地方同样的功能是动态声明使用函数运算符的例子:

var eatCakeAnon = function() { 
    alert("So delicious and moist"); 
}; 
eatCakeAnon(); 
2

这是一个函数文字。这正是像一个函数,但没有名称;它只是一个对象,就像JavaScript中的所有其他对象一样,其中特殊的部分就是你可以称之为的对象。在这里,它立即分配到getReview,因此您可以拨打getReview()来调用该功能。

其实,它的定义不会被吊起,但你并不需要担心。