jsContext全局函数调用与对象函数调用evaluateScript

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsContext全局函数调用与对象函数调用evaluateScript相关的知识,希望对你有一定的参考价值。

evaluateScript:兼具js加载(生成具体的上下文)(函数与通用变量的加载),与函数执行的功能;

 

函数调用的方式有两种:

1)获取函数(对象),然后执行调用:

[context[@"appendString"] callWithArguments:@[@"hello"]];

2)直接在context中执行链式调用?:

[context evaluateScript:@"testFun(‘Greg‘, 18)"];

 

对象函数调用与上述类似,只是添加了对象限定:

//创建Person类的对象,将他赋值给js对象
Person *person=[Person new];
person.personName = @"Greg";
person.age = 27;
context[@"person"]=person;

//可以调用获取PersonProtocol暴露的内容
NSString *personName = [[context evaluateScript:@"person.personName"] toString]; //"Greg"
NSString *personName1 = [[context evaluateScript:@"person.queryPersonName()"] toString]; //"Greg"

以上是关于jsContext全局函数调用与对象函数调用evaluateScript的主要内容,如果未能解决你的问题,请参考以下文章

iOS js 使用与JSContext

js执行上下文

将对象的方法指针传递给接受[静态方法指针/全局函数]指针的函数

JS函数 -- 功能,语法,返回值,匿名函数,自调用匿名函数,全局变量与局部变量,arguments的使用

函数的四种调用模式

首先调用的是 DllMain() 还是全局静态对象构造函数?