请教,关于js是否有匿名方法的问题。。
请教,关于js是否有匿名方法的问题。。
前两天,看见秋水无恨写了这样的语句:
with(.......) {
onchange=new Function(.....);
}
请教高手,
1,为什么我每一次
with(document.frm.sele)
{
onchage=...
}
浏览器总是说没有对象。。。
2,new Function() 是不是匿名方法,
如果我想生成一个有名字的方法,怎么做。。。
或者,我想动态的生成一个function 怎么做。。。
3,我对new 很赶兴趣,那位高手能告诉我,那些动东可以 new 出来,除了Date,自己写的object,还有那些??
谢谢!
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
问题点数:100、回复次数:3Top
1 楼seabell(百合心)回复于 2002-07-26 09:41:15 得分 100
1,onchange
应该可以的
with(document.frm.sele)
{
onchange=...
}
2,看例子
ob.onblur=new Function("show(this)");
<form name=show>
<input type="text" name=a>
</form>
<script>
function init(form)
{
for(var m=0;m<form.elements.length;m++){
var ob=form.elements[m];
if(ob.type=="text"){
ob.onblur=new Function("show(this)");
}
}
}
function show(obj){
alert(obj.name+"="+obj.value);
}
init(document.show);
</script>
3,定义数组
var cities=new Array();Top
2 楼seabell(百合心)回复于 2002-07-26 09:49:43 得分 0
3,var mystr=new String("mystr");Top
3 楼richardluopeng(罗罗)回复于 2002-07-26 10:20:35 得分 0
谢谢你, seabell(百合心)
<BODY>
<select name=sele id=sele1 onchange="ck();"><option>1<option>2<option>3</select>
<input type=button name=butt1 onclick="ck1();">
<SCRIPT LANGUAGE="JavaScript">
<!--
var ob=document.all.sele;
function ck()
{
with(ob)
{
ob.onchange=new Function("ck1()");
//this.onchage;
}
}
ck();
function ck1()
{
alert('123');
}
//-->
</SCRIPT>
我把代码改成var ob=document.all.sele;
with(ob) {...}
可以
为什么直接with(document.all.sele)
就没有反应。。
还有一个问题;关于new Function()
那个function 已经写好了,为什么要new一下,我不明白new 的意义在哪?
还有就是我没有办法动态生成function ,换句话说,我按了一个按钮,产生一个function,在这之前,就没有这个function..
我的这个思路是不是无法实现。。
谢谢! 我很快就给分。。。。Top
4 楼richardluopeng(罗罗)回复于 2002-07-26 11:52:09 得分 0
谢谢你, seabell(百合心)
<BODY >
<select name=sele id=sele1 onchange= "ck(); " > <option >1 <option >2 <option >3 </select >
<input type=button name=butt1 onclick= "ck1(); " >
<SCRIPT LANGUAGE= "JavaScript " >
<!--
var ob=document.all.sele;
function ck()
{
with(ob)
{
ob.onchange=new Function( "ck1() ");
//this.onchage;
}
}
ck();
function ck1()
{
alert('123');
}
//-- >
</SCRIPT >
我把代码改成var ob=document.all.sele;
with(ob) {...}
可以
为什么直接with(document.all.sele)
就没有反应。。
还有一个问题;关于new Function()
那个function 已经写好了,为什么要new一下,我不明白new 的意义在哪?
还有就是我没有办法动态生成function ,换句话说,我按了一个按钮,产生一个function,在这之前,就没有这个function..
我的这个思路是不是无法实现。。
谢谢! 我很快就给分。。。。
Top




