Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Flash调用带名称空间的JavaScript函数_Javascript_Flash_Namespaces_Externalinterface - Fatal编程技术网

从Flash调用带名称空间的JavaScript函数

从Flash调用带名称空间的JavaScript函数,javascript,flash,namespaces,externalinterface,Javascript,Flash,Namespaces,Externalinterface,我可以使用ExternalInterface调用带名称空间的JavaScript函数吗 //JavaScript foo.bar = function(baz) {} // AS3 import flash.external.ExternalInterface; ExternalInterface.call('foo.bar', baz); 对。是的,你可以。外部接口调用的文档有点误导。它声明第一个参数必须是函数名,这不是全部事实。它可以是任何可以作为proprer JS表达式计算的字符串。

我可以使用ExternalInterface调用带名称空间的JavaScript函数吗

//JavaScript
foo.bar = function(baz) {}

// AS3
import flash.external.ExternalInterface;
ExternalInterface.call('foo.bar', baz);

对。是的,你可以。

外部接口调用的文档有点误导。它声明第一个参数必须是函数名,这不是全部事实。它可以是任何可以作为proprer JS表达式计算的字符串。其实

ExternalInterface.call(func, param_1, ... , param_n);
相当于

eval(func)(param_1, ... , param_n);
因此,您不妨执行以下操作

ExternalInterface.call("function (foo) { alert(foo); return true; }","test");

这项技术有时用于治疗癌症。希望这能澄清一些事情

这个问题纯粹是理论上的,所以我上面所说的调用命名空间函数的方法是正确的吗?