Firebug动态执行JavaScript
您可以使用Firebug来编写并实时执行一个JavaScript。
这是为了测试,并确保该脚本工作正常,这是将JavaScript代码部署在生产环境前的好方法。
打开Firebug > Script(脚本) > 显示命令行,代码如下所示:
alert("cc")

按Enter键后,马上你就能看到代码的输出。
**
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
<script>
//动态执行函数:
function g1(){return 21;}
function g2(){return 22;}
function g3(){return 23;}
function g4(){return 24;}
function g(a){return a()};
function f(i) { return g(eval("g"+i)); }
document.write(f(1)+";"); //21
document.write(f(2)+";"); //22
document.write(f(3)+";"); //23
document.write(f(4)+";"); //24
</script>
</head>
<body>
</body>
</html>
以下为改进后的,当函数没有定义时,返回: No Function!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
<script>
//动态执行函数:
function g1(){return 21;}
function g2(){return 22;}
function g3(){return 23;}
function g4(){return 24;}
function g(a){
return a();
};
function f(i) { try{return g(eval("g"+i+""));} catch(e){return "NoFunction!";};}
document.write(f(0)+";"); //NoFunction!
document.write(f(1)+";"); //22
document.write(f(2)+";"); //24
document.write(f(3)+";"); //26
document.write(f(4)+";"); //28
</script>
</head>
<body>
</body>
</html>
动态执行函数时,不能像:
if(typeof(var1)=='undefined') alert('var1未定义');else alert('定义过了');
这样来检测 函数是否定义!!
Firebug动态执行JavaScript
您可以使用Firebug来编写并实时执行一个JavaScript。
这是为了测试,并确保该脚本工作正常,这是将JavaScript代码部署在生产环境前的好方法。
打开Firebug > Script(脚本) > 显示命令行,代码如下所示:
alert("cc")
按Enter键后,马上你就能看到代码的输出。
**
转载于:https://www.cnblogs.com/moyuling/p/8962586.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
<script>
//动态执行 javascript 函数(带参数):
function g1(i){return 21+i;}
function g2(i){return 22+i;}
function g3(i){return 23+i;}
function g4(i){return 24+i;}
function g(a,n){return a(n)};
function f(i,j) { return g(eval("g"+i),j); }
document.write(f(1,1)+";"); //22
document.write(f(2,2)+";"); //24
document.write(f(3,3)+";"); //26
document.write(f(4,4)+";"); //28
</script>
</head>
<body>
</body>
</html>
一直在用dwr处理页面的局部更新,在调用action返回的data中存在有javascript代码
执行时javascript代码会不起作用。
DWRUtil.setValue("showdata", data, {escapeHtml:false});其中showdata为DIV的ID,DATA为要放入的数据,如何处理呢?查看了下DWR的util.js文件有这个一个函数dwr.util.setValue,函数的最后一行
ele.innerHTML = val;这里的ele即为showdata,val即为Data,这样的javascript是不被执行的。虽然说ie中有defer属性,可以使新添加的javascript起作用,但在其它浏览器中是不行的,
如何解决呢,为了适应多浏览器,需要将val中javascript代码分离出来,动态加载到页的head区域,浏览器将会识别你加入的javascript,代码如下:
ele.innerHTML = val; var reg = /<script[^>]*>([\s\S]*)<\/script>/ ; var match = val.match(reg); if (match!=null && match.length>0) { var MyScript = match[1]; var script=document.createElement("script");//创建新的<script>标签 script.text=MyScript;//给新的script标签赋值 document.body.appendChild(script); //在header中添加也行 }ok,可以了,就这样。
注意,那个正则表达式只适用于data中包含一个"<script></script>"的,多个?不管用,自己想办法吧:)