pyv8学习python和javascript变量进行交互

yipeiwu_com6年前Python基础

python取得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取得python里面的值

复制代码 代码如下:

import PyV8

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

python和javascript里面的函数交互

python调用javascript里面的函数 python调用func就可以使用js里面的function函数了

复制代码 代码如下:

import PyV8

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

                    return a();
                })
                """)
    print func()

这样也可以

复制代码 代码如下:

import PyV8

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

                    function c()
                    {
                        return "abc";
                    }
                """)
    a = ctxt.locals.a
    print a()

相关文章

Python中对象迭代与反迭代的技巧总结

一、如何实现可迭代对象和迭代器对象? 实际案例 某软件要求从网络抓取各个城市气味信息,并其次显示: 北京: 15 ~ 20 天津: 17 ~ 22 长春: 12 ~ 18 .......

对python函数签名的方法详解

函数签名对象,表示调用函数的方式,即定义了函数的输入和输出。 在Python中,可以使用标准库inspect的一些方法或类,来操作或创建函数签名。 获取函数签名及参数 使用标准库的sig...

python的常用模块之collections模块详解

认识模块  什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别:  &nb...

如何使用Python实现斐波那契数列

如何使用Python实现斐波那契数列

斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家 Leonardo Fibonacci,斐波那契数列的定义很简单,用数学函...

Python函数定义及传参方式详解(4种)

一、函数初识 1、定义:将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。  2、好处:代码重用;保持一致性;可扩展性。 3、示例如下:    ...