易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript中的eval

javascript中eval详细理解
2009-02-27 14:58
2008-04-12 00:29
首先来个最简单的理解
eval可以将字符串生成语句执行,和SQL的exec()类似。
    eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:
     我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。
function output(a,b)
{
   var tmpa,tmpb;
   tmpa=document.all.a.value;
   tmpb=document.all.b.value;
   document.write(tmpa+tmpb);
}
output('input1','input2');
       这样你执行的时候就会提示错误“document.all.a不是对象”以及“document.all.b不是对象”。原来javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样:
function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
tmpb=eval("document.all."+b+".value");
document.write(tmpa+tmpb);
}
output('input1','input2');
这样javascript就会先取出a,b的值,然后和前面的document.all.以及后面的.value组合运行,于是就可以
顺利取出input1和input2的值.
看完上面的基本理解eval是什么含义了吧
然后看下面的理解
稍微晋级一点点,用到了DOM中替换图片的例子
在Javascript中Eval函数的使用?
【eval()函数】
来源:http://blog.csdn.net/ianc/archive/2006/05/29/761094.aspx
JavaScript有许多小窍门来使编程更加容易。
其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。
举个小例子:
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);
如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。
所以当你把the_evaled_answer的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。
这个看起来似乎有点傻,其实可以做出很有趣的事。比如使用eva


相关文档:

javascript微型模板系统

由于后台模板系统的强大,如rails的erb,javascript的模板系统一直处于被打压状态,但又由于后台的技术发展过快,日新月异,以及Ajax应用的普及,javascript还是有一藉之地的。如我们要从后台返回一个HTML片断,但事实上我们永远只能返回文本(responseText)或responseXML,如果你得到是json,其实后台已稍稍调用javascrip ......

在JavaScript中创建新对象

在JavaScript中创建新对象
(李晓华 2001年04月29日 01:50)
  使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。
  在JavaScript中创建一个新的对 ......

javascript中的defer

在使用getElementById时又遇到了“document.getElementById('...')为空或不是方法”的错误,alert()了一下发现获取的值为null,于是找了半天搜索到了这个这个defer。
在javascript标签中加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload  ......

JavaScript isPrototypeOf和hasOwnProperty使用区别

1、isPrototypeOf
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1.isPrototypeOf(object2);
object1是一个对象的实例;
object2是另一个将要检查其原型链的对象。
原型链可以用来在同一个对象类型的不同实例之间共享功能。 ......

JavaScript常用对象的方法和属性(偷来的)

JavaScript是基于对象的语言。我们知道,对象是由一组数据(JavaScript中称之为属性)和施加在这组数据上的方法组成的。同时,JavaScript中还有一些不属于任何对象的系统函数。本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数。
  一、串方法
  JavaScript有强大的串处理功能,有了这些串 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号