执行上下文有 三种 类型:
执行上下文也是一个对象!那么这个对象中包括了哪些内容呢
每一个 执行上下文都包括三个属性:
存储执行上下文的数据结构是堆栈,它是一种先进后出的数据结构, 称其为 执行栈 。
1.当js引擎首次读取读取脚本时,便会创建一个全局执行上下文,并将其压入栈底,
我们假设一开始的上下文执行栈为 []
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
// 设置javaScriptContext上下文
self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]
self.jsContext[@"ios"] = self self.jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
context.exception = exceptionValue NSLog(@"异常信息:%@", exceptionValue)
}
}