首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PyV8从Python函数返回`unfined`?

用PyV8从Python函数返回`unfined`?
EN

Stack Overflow用户
提问于 2013-06-08 09:30:16
回答 2查看 2.2K关注 0票数 2

我正在使用PyV8,并且我想用undefined调用一个javascript函数。似乎同时计算undefinednull都会返回Python值:

代码语言:javascript
复制
>>> evaljs("undefined")
None
>>> evaljs("null")
None

当然,问题在于它们在javascript中是不一样的:

代码语言:javascript
复制
>>> evaljs("undefined === null")
False
False
>>> evaljs("undefined") == evaljs("null")
None
None
True

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

SSCCE-ness编辑:

代码语言:javascript
复制
import PyV8

context = PyV8.JSContext()

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-08 03:30:58

答案是:在当前版本中,没有办法做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2013-06-09 21:08:27

正如你在这里看到的:null object in Python?,Python语言中没有nullundefined,只有None...因此,您只能将JavaScript中的undefinednull表示为Python语言中的None。JavaScript将两者区分开来有其自身的原因,而且,据我自己的经验所知,“未定义”是JavaScript独有的。

我唯一能想到的就是深入到源代码中,看看在JavaScript v8引擎中是如何跟踪未定义和null的,并在计算具有null或未定义结果的JavaScript语句时尝试返回该对象……但这是一项相当艰巨的任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16995108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档