Javascript变量函数方法调用

时间:2014-02-21 15:40:43

标签: javascript cordova

如果在其他地方被问过我道歉,我看了但不知道我在做什么的名字,我找不到任何东西。

无论如何,代码如下:

function alertTypeOptions(AlertType, AlertOptions) {
    navigator.notification.AlertType(AlertOptions);
}

此代码适用于phonegap / cordova应用程序。

基本思想是将函数传递给两个变量,这些变量用于执行适当的方法。例如,alertTypeOptions('beep','3')或alertTypeOptions('vibrate','2000')。这(应该)播放默认提示音3次或振动手机2秒钟。

我目前收到以下错误:

02-21 15:36:07.185: E/Web Console(7206): Uncaught TypeError:
Object #<Object> has no method 'AlertType'
at file:///android_asset/www/res/scripts.js:181

显然,该函数目前只是使用alertType变量而不是变量。

有没有办法让它优雅地运作?目前我唯一的想法是使用带有AlertType的switch语句作为检查。

杰克

1 个答案:

答案 0 :(得分:0)

您似乎想使用bracket notation

访问您的功能
navigator.notification[AlertType](AlertOptions);

或者更确切地说,如果我信任this documentation并且AlertOptions是一个数组:

navigator.notification[AlertType].apply(navigator, AlertOptions);