什么是这个语法?

时间:2011-01-28 00:33:17

标签: javascript

这些是MicrosoftAjax.debug.js文件中的前几行。

他们用语法做什么?特别是第3行。

Function.__typeName = 'Function';
Function.__class = true;
Function.createCallback = function Function$createCallback(method, context) { 

1 个答案:

答案 0 :(得分:3)

这是普通代码,恰好在函数名中包含$个字符。

表达式function Function$createCallback(method, context) { ... }是一个命名函数表达式;它评估为一个名为Function$createCallback的函数 与许多语言不同,$字符在Javascript标识符中是完全合法的(请参阅jQuery),因此这是一个具有某种不寻常名称的普通函数。

代码指定该函数在createCallback对象上创建Function属性 (该属性恰好是一个函数; Javascript函数与变量没有区别)