Pyv8 learns how python interacts with javascript variables

  • 2020-04-02 13:18:47
  • OfStack

Python gets the values in javascript


import PyV8
with PyV8.JSContext() as env1:
    env1.eval("""
                var_i = 1;
                var_f = 1.0;
                var_s = "test";
                var_b = true;
            """)
    vars = env1.locals
    var_i = vars.var_i
    print var_i


Javascript gets the value in python


import PyV8
with PyV8.JSContext() as env1:
    env1.securityToken = "foo"
    env1.locals.prop = 3
    print int(env1.eval("prop"))

Python interacts with functions in javascript

Python calls functions in javascript Python calls func to use the function function in js


import PyV8
with PyV8.JSContext() as ctxt:
    func = ctxt.eval("""
                (function ()
                {
                    function a()
                    {
                        return "abc";
                    }
                    return a();
                })
                """)
    print func()

That's ok


import PyV8
with PyV8.JSContext() as ctxt:
    func = ctxt.eval("""
                    function a()
                    {
                        return "abc";
                    }
                    function c()
                    {
                        return "abc";
                    }
                """)
    a = ctxt.locals.a
    print a()


Related articles: