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"