0

例如,在 CDP 中,当执行Debugger.evaluateOnCallFrame以评估某个对象时,响应将包含一个objectId看起来像{injectedScriptId: 1, id: 413}. 并且injectedScriptId永远不会改变(至少我从未观察到它改变了)。idprop 似乎是内存中唯一的对象 id 。

相关(甚至更重要,但只是寻求确认)问题:idinobjectId是整个程序/过程中对象的唯一标识符吗?我可以依靠它来构建变量的序列化、无循环引用的字符串表示吗?

那么 的目的是injectedScriptId什么InjectedScript

4

1 回答 1

0

JoelEinbinder 的回答

这是一个内部实现细节,因此您不应依赖它,它可能随时更改而不会发出警告,或者行为不一致。

注入脚本是我们注入到 JavaScript 执行上下文中以管理远程对象和其他事物的内部事物。这就是为什么他们有单独的 id 计数器。

所以不,内部 id 不是唯一的。使用字符串。

于 2019-06-07T05:31:15.450 回答