无法从同一文件调用 JavaScript 函数
Posted
技术标签:
【中文标题】无法从同一文件调用 JavaScript 函数【英文标题】:Cannot Call JavaScript Function from same File 【发布时间】:2016-08-29 17:09:52 【问题描述】:我正在定制一个基于 IBM MobileFirst 平台的 Maximo Anywhere 应用程序。
我已经实现了一个自定义的 javascript 文件,并且能够直接通过 app.xml 调用这些函数。但是,我无法从其他 JavaScript 函数调用此文件中包含的函数。你不能这样打电话吗?任何帮助将不胜感激。
请参阅下面的简化示例。这将在 callFromApplication 函数调用 retNewVal 函数时失败。
简化示例:
callFromApplication: function(eventContext)
var selectedResource = eventContext.getResource().getCurrentRecord();
var val1 = 5
var val2 = retNewVal(val1);
selectedResource.set('property1', val1);
selectedResource.set('property2', val2);
,
retNewValue : function(val)
return val * 2;
,
谢谢!
【问题讨论】:
失败时的错误信息是什么? 欢迎来到 Stack Overflow。你可以改进你的问题。请阅读Minimal, Complete, and Verifiable example。当您的代码不加赘述地显示您的确切问题时,您就是在尊重那些自愿帮助您的人。 【参考方案1】:在我看来,您是从对象定义中调用 retNewValue 函数。
尝试在其前面添加this.
以确保正确维护范围
var obj =
func1notworking: function()
func2("Doesn't Work");
,
func1working: function()
this.func2("Works");
,
func2: function(output)
alert(output);
;
//obj.func1notworking();
obj.func1working();
JsFiddle
【讨论】:
以上是关于无法从同一文件调用 JavaScript 函数的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Objective-C 中调用的 JavaScript 函数访问 response.body?