2017-04-15 29 views

回答

0

我最终注入少量的JavaScript代码返回typeof

[context evaluateScript:@"function is(obj){ return typeof obj }"]; 
JSValue *is = [[context globalObject] valueForProperty:@"is"]; 
JSValue *type = [is callWithArguments:@[ is ]]; 
结果
0

看起来像没有办法检查。你只能检查你的函数是否是一个对象(并且在JS函数中是对象)。

根据文档,如果该值不能被视为JavaScript函数,则-[JSValue callWithArguments:]返回nil。如果一个JS函数没有显式地返回一个值,那么它隐含地返回JavaScript值undefined。所以,看起来你可以简单地尝试调用JS函数并处理该案例,如果它返回nil

相关问题