添加全局Javascript函数,jQuery样式?

时间:2009-12-09 09:40:55

标签: javascript

我希望将命令字符串发送到Flash应用程序,以执行调试命令。通过Firebugs控制台/命令行执行此操作看起来是启动并运行它的最简单方法。

目前,我可以通过使用ExternalInterface呼叫控制台从Flash应用程序登录到firebug控制台。并通过调用command方法添加的ExternalInterface.addCallback方法发送flash app命令。所以目前在包含Flash应用程序的html文件中我有一些Javascript:

$(document).ready(function(){
    app = $("#${application}").get(0)
})

在firebug命令行中我可以输入:

app.command('screen.ruler.show')

Flash应用程序会收到此消息。所以这一切都很好,但我希望app.command电话尽可能短。

所以我想将app.command函数分配给jqueries $ method风格的单个字符函数。那么我将如何实现函数$$$?

$$$('screen/ruler.show')

3 个答案:

答案 0 :(得分:3)

$$$ = function( args ) {
    app.command( args );
}

答案 1 :(得分:2)

你不必使这个复杂并使用像jQuery这样的闭包等,你可以做到

$$$ = app.command

或将其包装在函数

function $$$(arg) {
    app.command(arg);
}

或将其附加到窗口,如jQuery:

window.$$$ = function(arg) {
    app.command(arg);
}

答案 2 :(得分:0)

示例:

$(function() {
  $$$("Fred");
});

var app = {
  command: function(arg) {
    alert("hello " + arg);
  }
};

function $$$(arg) {
  app.command(arg);
}

这相当于:

var $$$ = function(arg) {
  app.command(arg);
}

到显式函数声明。

Javascript具有所谓的first class functions