Javascript函数语法

use*_*219 1 javascript yui

在我学习JavaScript的微弱尝试中,我买了一本书,教你如何用JavaScript做事,但忘了提到为什么.

来自PHP我熟悉典型的函数语法:

function name() {return;}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这在JS中也是如此.

然后我决定尝试使用YUI 3框架进行小型项目继续学习并遇到这个问题... YUI Global Object

YUI().use('node', function(Y) {
   Y.Node.get('#demo');
});
Run Code Online (Sandbox Code Playgroud)

据我所知,这是使用YUI()对象的'use'函数,将'node'传递给'use'函数....但接着是什么...为什么它在另一个函数调用中声明一个函数?

有人可以解释这里使用的语法吗?

解释JavaScript一般语法类似于php.net的一个很好的参考也是有益的.谢谢你的帮助.

Dou*_*ner 5

它是一个匿名函数.它被认为是一个回调.

在PHP 4和早期版本的PHP 5中,您可能会看到如下内容:

PHP

function callback($var){
   ...
}

array_filter( $array, "callback" );
Run Code Online (Sandbox Code Playgroud)

在PHP 5的更高版本中,您可以将它们定义为内联的匿名函数.

所以,在JavaScript中,旧版本看起来像这样:

JavaScript的

function use_callback(Y){
    Y.Node.get('#demo');
}

YUI().use('node', use_callback);
Run Code Online (Sandbox Code Playgroud)

但是通过定义内联匿名函数,您可以保存额外的混乱和定义的函数:

YUI().use('node', function(Y) {
   Y.Node.get('#demo');
});
Run Code Online (Sandbox Code Playgroud)

这两个功能都是等效的.