通行证: 用户 密码 网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

当前位置:首页>>编程开发>>JAVA编程>>正文
注:打开慢时请稍等

eval()函数(javascript) JavaScript小窍门

http://www.iyit.net  日期:2007-1-15 16:04:23  来源:iyit.net录入  点击:
参加讨论

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。
这个看起来似乎有点傻,其实可以做出很有趣的事。比如使用eval你可以根据用户的输入直接创建函数。
这可以使程序根据时间或用户输入的不同而使程序本身发生变化,通过举一反三,你可以获得惊人的效果。
在实际中,eval很少被用到,但也许你见过有人使用eval来获取难以索引的对象。

文档对象模型(DOM)的问题之一是:有时你要获取你要求的对象简直就是痛苦。
例如,这里有一个函数询问用户要变换哪个图象:变换哪个图象你可以用下面这个函数:

function swapOne()
{
	var the_image = prompt("change parrot or cheese","");
	var the_image_object;

	if (the_image == "parrot")
	{
		the_image_object = window.document.parrot;
	} 
	else 
	{
		the_image_object = window.document.cheese;
	}

	the_image_object.src = "ant.gif";
}

连同这些image标记:

[img src="stuff3a/parrot.gif" name="parrot"]
[img src="stuff3a/cheese.gif" name="cheese"]

请注意象这样的几行语句:
      
the_image_object = window.document.parrot;

它把一个图象对象敷给了一个变量。虽然看起来有点儿奇怪,它在语法上却毫无问题。
但当你有100个而不是两个图象时怎么办?你只好写上一大堆的 if-then-else语句,要是能象这样就好了: 


function swapTwo()
{
	var the_image = prompt("change parrot or cheese","");
	window.document.the_image.src = "ant.gif";
}

不幸的是, JavaScript将会寻找名字叫 the_image而不是你所希望的"cheese"或者"parrot"的图象,
于是你得到了错误信息:”没听说过一个名为the_image的对象”。 

还好,eval能够帮你得到你想要的对象。

function simpleSwap()
{
	var the_image = prompt("change parrot or cheese","");
	var the_image_name = "window.document." + the_image;
	var the_image_object = eval(the_image_name);
	the_image_object.src = "ant.gif";
}


如果用户在提示框里填入"parrot",在第二行里创建了一个字符串即window.document.parrot. 然后包含了eval的第三
行意思是: "给我对象window.document.parrot" - 也就是你要的那个图象对象。一旦你获取了这个图象对象,你可以把
它的src属性设为ant.gif. 有点害怕?用不着。其实这相当有用,人们也经常使用它。

编辑:iyit.net [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:从XML到Java代码的数据绑定之创建类
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
从XML到Java代码的数据绑定之创建类 java缓冲区溢出编程心得 php里怎么实现javascript的unescape函数
有谁知道去除一个文本中的所有空格,用 初学Javascript之cookie篇(译) JavaScript对象与数组参考大全
用Javascript 实现的Dual listbox javascript版的日期输入控件 用 JavaScript 来操作字符串
一个非常实用的Javascript类库 如何利用IE进行JavaScript脚本调试 JavaScript常用检测脚本
javascript 经典函数 Email地址加密javascript版 JavaScript方法和技巧大全
搜索引擎页面分析中的 javascript 处理 [JAVA]十四种Java开发工具点评 初学java常用开发工具介绍
Java编程中更新XML文档的常用方法 用Java实现HTTP文件队列下载 Singleton在Java中的应用
Java学习从入门到精通 4方法篇 Java学习从入门到精通 2书籍篇 Java学习从入门到精通 3过程篇
最新更新 热点排行 推荐新闻
eval()函数(javascript) JavaScript小
从XML到Java代码的数据绑定之创建类
java缓冲区溢出编程心得
完美解决一个事件激活多个函数(2)
初学Javascript之cookie篇(译)
周期短回报奇高 中文域名上演创富神话
asp和javascript大小写字母转换函数
网页最简短的拖动对象代码实例演示
多种网页弹出窗口代码 防拦截弹出窗口
随滚动条移动的DIV层
eval()函数(javascript) JavaScript小
年损失达63.8亿 企业亟需高效反垃圾邮
审批政策松动 地名.travel旅游域名注册
多服务器转发邮局 应对网络通信故障
文化内涵使用价值并重 中文域名倍受青
eval()函数(javascript) JavaScript小
msn8.0下载、msn shell、msn8.0中文版
金山词霸2007未上市即遭盗版
QQ挂太阳专家 V1.0.3  下载
Windows Vista 5840简体中文版体验心得
电脑主板知识大全图文版 
简单实用 最新刷QQ等级方法 
sxs.exe病毒清理办法,手动清楚方法 ̄!
猖狂的Sxs.exe病毒处理方法
QQ病毒专杀工具 下载
北大奇侠传--三学生自创北大首款网游 
eval()函数(javascript) JavaScript小
给年轻工程师的“十大忠告” 
vbscript和javascript互相调用 
asp和javascript大小写字母转换函数
网页最简短的拖动对象代码实例演示
多种网页弹出窗口代码 防拦截弹出窗口
随滚动条移动的DIV层
eval()函数(javascript) JavaScript小
高手清除系统垃圾完全手册(3)
高手清除系统垃圾完全手册(2)
高手清除系统垃圾完全手册(1)
2007,个人站长何去何从?
提示“虚拟内存”不足的怎么办

vbscript和javascript

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2007 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息