gpt4 book ai didi

javascript - 使用 PyV8 从 Python 函数返回 `undefined`?

转载 作者:行者123 更新时间:2023-11-30 06:31:54 25 4
gpt4 key购买 nike

我正在使用 PyV8,我想用 undefined 调用一个 javascript 函数。似乎评估 undefinednull 返回 Python 的 None 值:

>>> evaljs("undefined")
None
>>> evaljs("null")
None

当然,问题在于它们在 javascript 中并不相同:

>>> evaljs("undefined === null")
False
False
>>> evaljs("undefined") == evaljs("null")
None
None
True

有什么好的方法可以做到这一点吗?实际上,我想编写一个可从 javascript 调用的 Python 函数,它在某些情况下返回 undefined,在其他情况下返回 null

编辑SSCCE -性:

import PyV8

context = PyV8.JSContext()

def evaljs(s):
with context:
res = context.eval(s)
print res
return res

最佳答案

如您所见:null object in Python? , 没有 nullundefined在 Python 中,只是 None ...所以你只能代表 undefinednull来自 JavaScript 作为 None在 Python 中。 JavaScript 出于自身原因对两者进行了区分,据我自己的经验,“未定义”对于 JavaScript 来说是相当独特的。

我唯一能想到的就是深入研究源代码,看看 JavaScript v8 引擎是如何跟踪 undefined 和 null 的,并在评估带有 null 或 undefined 结果的 JavaScript 语句时尝试让该对象返回。 .. 但这是一项艰巨的任务。

关于javascript - 使用 PyV8 从 Python 函数返回 `undefined`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com