精华内容
下载资源
问答
  • JQuery动态执行javascript代码的方法

    千次阅读 2010-09-25 08:12:00
    在JQUERY中要动态执行从服务器端返回的HTML片断,可用JQUERY中的globalEval方法。 举例如下: var scriptCode='alert("hello")'; $.globalEval(scriptCode);  

    在JQUERY中要动态执行从服务器端返回的HTML片断,可用JQUERY中的globalEval方法。

    举例如下:

    var scriptCode='alert("hello")';
    $.globalEval(scriptCode);

     

    展开全文
  • 不同于上次传的哪个 这个是用Javascript做为引擎 更为方便 可以作为web专用的
  • JavaScript执行堆栈

    万次阅读 2019-05-10 08:01:59
    我们首先看JavaScript的函数底层工作原理 一个函数运行的信息被存储在它的执行上下文里。 执行上下文是一个内部数据结构,它包含一个函数执行时的细节:当前工作流在哪里,当前的变量,this的值(这里我们不使用它)...

    我们首先看JavaScript的函数底层工作原理
    一个函数运行的信息被存储在它的执行上下文里。
    执行上下文是一个内部数据结构,它包含一个函数执行时的细节:当前工作流在哪里,当前的变量,this的值(这里我们不使用它),以及其他一些内部细节。
    每个函数有嵌套调用时,下面的事情会发生:

    • 当前函数被暂停;
    • 与它关联的执行上下文被一个叫做执行上下文堆栈的特殊数据结构保存;
    • 执行嵌套调用;
    • 嵌套调用结束后,之前的执行上下文从堆栈中恢复,外部函数从停止的地方继续执行。
      我们看看调用pow(2, 3)都发生了什么。
      pow(2, 3)
      在调用pow(2, 3)的开始,执行上下文会存储变量:x = 2, n = 3,执行流程在函数的第1行。
      我们将其描绘如下:
      在这里插入图片描述
      这是函数开始执行的时候,条件 n == 1结果为否,所以流程进入if的第二分支。
    function pow(x, n) {
    	if (n == 1) {
    		return x;
    	} else {
    		return x * pow(x, n - 1);
    	}
    }
    alert(pow(2, 3));
    

    变量相同,但是函数变化了,所以现在上下文是:
    在这里插入图片描述
    为了计算x * pow(x, n - 1),我们需要用新的参数pow(2, 2)自调用pow。
    pow(2, 2)
    为了执行嵌套调用,JavaScript会记住执行上下文堆栈中的当前执行上下文。
    这里我们调用相同的函数pow,但是没关系。所有函数的处理都是一样的:
    1.当前上下文被「记录」在堆栈的顶部;
    2.为子调用创建新上下文;
    3.当子调用结束后 —— 前一上下文从堆栈弹出,继续执行。
    下面是进入子调用pow(2, 2)的上下文堆栈:
    在这里插入图片描述
    新的当前执行上下文位于顶部(加粗),前面的在下方。
    在我们完成子调用后—— 很容恢复前面的上下文,因为它保留这变量和代码停止时的准确位置。图中我们使用了单词「行」,但实际比这更精确。
    pow(2, 1)
    重复该过程:在第5行生成新的子调用,现在使用参数x = 2, n = 1。
    新的执行上下文被创建,前一个被压入堆栈顶部:
    在这里插入图片描述
    此时,有俩个旧的上下文和一个当前正在运行的给pow(2, 1)的上下文。
    出口
    在 pow(2, 1) 时,不像之前,条件 n == 1 成了是,所以 if 的第一分支生效:

    function pow(x, n) {
    	if (n == 1) {
    		return x;
    	} else {
    		return x * pow(x, n - 1);
    	}
    }
    

    此时不再有嵌套调用,所以函数结束,返回2。
    函数结束后,它的执行上下文不再有用,会在内存中移除。前一上下文从栈顶恢复:
    在这里插入图片描述
    恢复执行pow(2, 2),它有子调用pow(2, 1)的结果,所以它也可以结束x * pow(x, n - 1) 的执行,返回 4。
    然后前一上下文被恢复:
    在这里插入图片描述
    当它结束后,我们得到结果pow(2, 3) = 8。
    递归深度是:3。
    从上面的图解可以看到,递归深度等于堆栈中上下文的最大个数。
    注意内存要求。上下文消耗内存,在我们的例子中,求n次放需要存储n个上下文,以便减一后的n使用。
    而循环算法更省内存:

    function pow(x, n) {
    	let result = 1;
    	for (let i = 0; i < n; i++) {
    		result *= x;
    	}
    	return result;
    }
    

    迭代pow仅使用一个上下文,在处理中修改i和result。它的内存要求比较小,且固定不依赖n。
    任何递归都可以用循环来重写。循环变体一般更加有效。
    但有时重写很难,尤其是函数根据条件使用不同的子调用,然后合并它们的结果,或者分支比较复杂。而且有些优化可能没有必要,完全不值得。
    递归能提供更简洁的代码,容易理解和维护。优化并不是处处需要,大多数时候我们需要一个好代码,这就是它被使用的原因。

    展开全文
  • 如何执行JavaScript文件

    万次阅读 2016-07-07 23:57:26
    1、在客户端执行。完全在用户的计算机上运行,无须经过服务器。 2、面向对象。具有内置对象,也可以直接操作浏览器对象。 3、动态变化。可以对用户的输入作出反应,也可以直接对用户输出。 4、简单易用。...
    一、JavaScript脚本语言的特性
    
        JavaScript脚本语言是一种面向浏览器的网页脚本编程语言。脚本语言有以下几个特性:
    1、在客户端执行。完全在用户的计算机上运行,无须经过服务器。
    2、面向对象。具有内置对象,也可以直接操作浏览器对象。
    3、动态变化。可以对用户的输入作出反应,也可以直接对用户输出。
    4、简单易用。JavaScript脚本语言虽然简单,但初学者也能快速掌握。
    5、只能与HTML语言一起使用。要通过浏览器解释执行。
    二、如何在HTML中加入JavaScript脚本

      JavaScript采用的格式如下:
    <Script Language="JavaScript">
    JavaScript 语句 
    </Script>
    把上述语句放在HTML的<head>与</head>之间,也可放在<body>与</body>之间。
    例子:在网页上显示“你好!”。
    <html>
    <body>
    <Script Language="JavaScript">
    alert("你好!") 
    </script>
    </body>
    </html>
    三、在浏览器地址栏直接执行JavaScript脚本

    也可以在浏览器的地址栏中输入JavaScript语句,由浏览器直接执行。
    如输入: javascript :alert(200*75)
    四、调用JavaScript文件 

    可以将纯JavaScript的语句另外保存在一个"*.js"的文件中,需要时再调用。

    例子:调用test.js文件,显示提示。 
    <html>
    <body>
    调用test.js文件
    <script language="JavaScript" src="test.js">
    </script>
    </body>
    </html> 
    test.js的文件内容如下: 
    alert("这是被调用的语句。") 

    五、注释语句

    用<!- ... ->表示注解部分,用作说明解释,浏览器不显示出来。不要也可以。
    另外,双斜线 "//" ,是JavaScript 的注释语句,它后面的语句不被执行。
    六、变量的使用

    变量的声明:Var usename
    变量的赋值:usename="李国强"
    例子:在网页上显示“李国强你好!”。
    <html>
    <body>
    <Script Language="JavaScript">
    Var usename
    usename="李国强"
    alert(usename + "你好!") 
    </script>
    </body>
    </html>
    七、数组

    数组的定义:var name=new Array(5) 用 new 来生成数组。
    数组的赋值:name[1]="Marry"
    数组的初始化:var name=new Array("Marry","Petty","Mike","Jphn")
    数组的引用:name[1]

    注:数组的第一个素由1开始。
    八、运算符与表达式

    1、代数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%)。
    2、比较运算符:等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
    3、逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!)。
    表达式:由变量和运算符组成的式子。如:usename + "你好!"
    展开全文
  • Java执行JavaScript代码

    千次阅读 2016-03-26 18:06:24
    我们要在Java中执行JavaScriptMethods.js中的execute(s1,s2)方法,JavaScriptMethods.js文件内容如下:function execute(s1, s2){ return s1 + s2; }

    我们要在Java中执行JavaScriptMethods.js中的execute(s1,s2)方法,JavaScriptMethods.js文件内容如下:

    function execute(s1, s2){
        return s1 + s2;
    }

    首先需要定义一个接口,这个接口中给出与要执行的JavaScript方法一样的方法签名,我们定义接口Methods,它的内容如下:

    /**
     * 接口中的方法签名必须与要执行的JavaScript方法一致
     * @author yuncong
     *
     */
    public interface Methods {
        public String execute(String s1,String s2);
    }

    然后,就可以用脚本引擎执行JavaScriptMethods.js中execute(s1,s2)方法了,具体内容写在下面的ExecuteScript类中的:

    import java.io.FileReader;
    
    import javax.script.Invocable;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    
    
    public class ExecuteScript {
        public static void main(String[] args) {
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByName("js");
            try {
                String path = ExecuteScript.class.getResource("").getPath();
                System.out.println(path);
                // FileReader的参数为所要执行的js文件的路径
                engine.eval(new FileReader(path + "JavaScriptMethods.js"));
                if (engine instanceof Invocable) {
                    Invocable invocable = (Invocable) engine;
                    Methods executeMethod = invocable.getInterface(Methods.class);
                    System.out.println(executeMethod.execute("li", "yuncong"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    运行ExecuteScript类,输出如下:
    /C:/Users/yuncong/git/login/target/classes/executescript/
    liyuncong

    展开全文
  • Python 爬虫执行JavaScript

    千次阅读 2018-05-16 18:38:20
    欢迎加入学习交流QQ群:657341423 反爬虫技术一直是爬虫最难解决的问题,因为要开发者深入了解网站的反爬机制才能做出相应的解决方案。 反爬虫技术之中,最为复杂的是...Python执行js代码的模块有PyExecJS 和 py...
  • javascript中的eval函数 动态执行

    千次阅读 2009-08-05 11:36:00
    发现为本文起一个合适的标题还不是那么容易,呵呵,所以在此先说明下本文的两个目的:(1)介绍javascript中的eval函数的用法(2)如何在函数内执行全局代码 ►先来说eval的用法,内容比较简单,熟悉的可以跳过。...
  • 脚本引擎执行javascript代码 JAVA脚本引擎是从JDK6.0之后添加的新功能。脚本引擎介绍: 使得JAVA应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在JAVA平台上调用各种脚本语言的目的 Java脚本API...
  • javascript函数的静态加载与动态执行

    千次阅读 2017-10-29 18:09:45
    函数定义是,已经写入了内存,是静态的模式,但是我们经常想得到的缺失动态效果 错误 var trs = document.getElementById("tr"); var length = trs.length; for(var index=0;index;index++){ trs[index]....
  • JAVA执行javascript方法

    万次阅读 2016-04-02 23:20:49
    之前在一次机缘巧合的情况下,需要时用JAVA执行js方法,查阅了一些文档,找到了相关解决方法,这里和大家分享一下。
  • 收藏夹也能执行javascript代码

    千次阅读 2019-08-31 19:41:27
    如何让收藏夹(书签栏)执行javascript代码 HTML页面在浏览器中可以运行是总所周知的,但是你肯定不知道浏览器书签栏也是可以执行javascript代码的。 1、首先创建这么一个index.html文件 <!DOCTYPE ...
  • JavaScript执行机制之执行顺序

    万次阅读 2016-08-19 13:39:44
    JavaScript是一种描述型的脚本语言,不同于C#或者java,它不需要进行编译成中间语言,而是由浏览器动态的解析和执行。今天我们就来说一个JavaScript是如何解析的,它的执行顺序是怎么样的?在此之前,我们先来了解几...
  • a链接执行javascript的方法

    千次阅读 2018-08-22 18:42:50
    a链接执行javascript的方法 目的:禁止跳转,直接执行a链接绑定的函数 href="javascript:;",其中javascript:是伪协议,它可以让我们通过一个链接来调用javascript函数.而采用这个方式 javascript:;可以...
  • V8是如何执行JavaScript代码的

    千次阅读 2020-03-31 16:42:23
    文章目录V8是如何执行JavaScript代码的主要核心流程分为两步 -- `编译` 和 `执行`1. 首先将 `JavaScript代码` 转换为 `低级中间代码` 或者 `机器能够理解的机器代码` ;2. 执行转换后的代码并输出执行结果;高级代码...
  • Firemonkey自带的TWebBrower对于JavaScript的交互支持一直不是很好,仅仅提供了一个本地执行JavaScript的方法EvaluateJavaScript,而且该方法不提供JS执行的返回结果。 在安卓平台上,EvaluateJavaScript是通过...
  • WebDriver中执行JavaScript

    万次阅读 2013-02-03 11:20:28
    在WebDriver中可以使用JavaScript,通地使用JavascriptExector对象 首先要通过向下转型 JavascriptExecutor js = (JavascriptExecutor) driver; 转为JavascriptExector对象 然后再调用executeScript()方法来执行...
  • JavaScript执行顺序

    千次阅读 2011-04-17 04:17:00
    1.6 JavaScript执行顺序 上一节是从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序。如果说,JavaScript引擎的工作机制比较深奥是因为...
  • 脚本引擎Rhino执行javascript代码

    千次阅读 2016-04-03 16:53:54
    1.javascript代码:a.js: function test(){ var a = 3; var b = 4; println("invoke a.js file:" + (3+4)); } test(); 2.java代码中执行a.js: package com.buaa.testRhino; import java.io.FileReader; ...
  • HTML定时执行javascript

    千次阅读 2012-03-29 10:46:57
    <script language="javascript"> var cnt = 0; function doLoad() { cnt++; alert(cnt); //every five seconds to repeat self setTimeout("doLoad()",1000*5); } <title>Insert title here ();...
  • 在chrome浏览器中执行javascript

    万次阅读 2015-09-25 09:32:18
    chrome浏览器中包含了开发者工具,chrome浏览器可谓是非常的强大啊,在chrome浏览器上F12就可以打开开发者模式。如下图所示: ...javascript:$("#username").val("你的用户名称");$("#password").val(

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 872,452
精华内容 348,980
关键字:

动态执行javascript

java 订阅