JScript 中 eval 实现 VBScript ExecuteGlobal 功能, 函数 fExecuteGlobal by shawl.qiu

JScript 中 eval 实现 VBScript ExecuteGlobal 功能, 函数 fExecuteGlobal by shawl.qiu



说明:
顾名思义,  ExecuteGlobal 就是把局部变量弄成全局变量...

虽然实现函数只是短短几行...
不过这几行中包含的原理实在是太多了, 俺不想费劲解释... 请自行消化.

shawl.qiu
2007-09-09
http://blog.csdn.net/btbtd

内容:
<%@ LANGUAGE = "JAVASCRIPT"  CODEPAGE = "65001" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template </title>
</head>
<body>
<%   

 fTest("j");
 
 Response.Write("i: "+i+"<br/>");
 Response.Write(typeof(i)+"<hr/>");
 
 Response.Write("f: <xmp>"+f+"</xmp><br/>");
 Response.Write("Global: "+typeof(f)+"<br/>");
 
 Response.Write("j: <xmp>"+j+"</xmp><br/>");
 Response.Write("Global: "+typeof(j)+"<br/>");
 
 function fTest(DynArg)
 {
  var i=0;
  
  fExecuteGlobal("f", f);
  fExecuteGlobal("i", i);
  
  if(DynArg) fExecuteGlobal(DynArg, eval(DynArg));
  
  function j()
  {
   Response.Write("j saying hi.<br/>");
  }
  
  function f()
  {
   Response.Write("f saying hi.<br/>");
  }
 }
 
 function fExecuteGlobal(sVar, Var)
 { // shawl.qiu code, void return
  if(!sVar) throw new Error("var name must be not empty!");
  eval(sVar+"=Var");
 } // function fExecuteGlobal(sVar, Var)
%>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值