JavaScript中的函数参数传值问题? 本帖最后由 lzfly 于 2010-02-20 22:29:00 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已开始你就要保证让addEventListener 把正确的参数传递进去,你这个我们也没有办法调试阿,能不能发出一个不带active 控件的例子 你的邮箱是多少?我mail给你。高手请赐教啊! bShow = false; //这里的设置没有效果nResult = 0; //这里的设置没有效果 bShow改为bshow,另外这两行有效果的,不信你改成这样就看到bshow和nResult已经改变:function init() {// 跳转处理var handler = function(bshow,nResult){ alert('OnCloseDocument');alert(bshow);alert(nResult);bShow = false; //这里的设置没有效果nResult = 0; //这里的设置没有效果alert(bshow);alert(nResult);};//var viewer = document.getElementById('AXCtrl');handler();} 谢谢你!应该是我的代码引起了你的误解,alert(bshow); alert(nResult); bShow = false; //这里的设置没有效果 nResult = 0; //这里的设置没有效果 alert(bshow); alert(nResult); ================================bShow改为bshow,另外这两行有效果的,不信你改成这样就看到bshow和nResult已经改变:确实改成bShow后 alert(bshow); 产生了效果,但是我的问题是要让这里对bShow值得的改变在'OnCloseDocument'事件结束后,仍然还有效果。就是这里的参数是传址的而不是传值的。 javascript处理的是浏览器的事件,ActiveX控件的事件消息传不到javascript脚本中。 <object id="AXCtrl" bShow = false nResult = 0 height=450 width=650 CLASSID="clsid:AEC22598-D3E5-790A-TGE8-SFEA90C68B26" /> var handler = function(){ alert('OnCloseDocument');var AXCtrl=documant.getElementById('AXCtrl');AXCtrl.bShow = false; AXCtrl.nResult = 0; }; 吧传的内部属性 直接变成外部属性挂在对象上 反正都是handler自己在控制逻辑 所以传不传参数都无所谓 之后控件内部的操作在分析自己的属性 或者属性本身就自己根据变化操作 不知道C++写的是不是可以这样 谢谢大家,javascript 应该是没有办法提供传址的,但问题已经解决了。PS: 我使用的方法和8楼的想法很类似,客户也同意了这样的方法。我在ActivX里加了一个两个属性代表bShow和nResult,然后用户在响应这个事件的时候,去修改这个属性的值,ActiveX做了一些调整,在事件被响应后,把属性值赋值给原来的bshow和nResult,问题解决。 谁能解释一下这段代码,一直不明白。 关于添加事件的疑问 怎样删除一段已知的html代码 HTC有难度 如何动态的添加html的表的行列!! IE中的asp页面如何判断是通过back键进入到当前页面的??? js中如何获取一个表格的高度? prompt总是在左上角,能不能放到页面中间来? 我怎么觉得我的可用分又在一点一点的长了呢? juery可以实现这样联动的效果吗 求一个Jplayer的方法 100问个小问题关于<a href="#div">
nResult = 0; //这里的设置没有效果 bShow改为bshow,另外这两行有效果的,不信你改成这样就看到bshow和nResult已经改变:function init() {
// 跳转处理
var handler = function(bshow,nResult){
alert('OnCloseDocument');
alert(bshow);
alert(nResult);
bShow = false; //这里的设置没有效果
nResult = 0; //这里的设置没有效果
alert(bshow);
alert(nResult);
};//var viewer = document.getElementById('AXCtrl');handler();
}
alert(nResult);
bShow = false; //这里的设置没有效果
nResult = 0; //这里的设置没有效果
alert(bshow);
alert(nResult);
================================
bShow改为bshow,另外这两行有效果的,不信你改成这样就看到bshow和nResult已经改变:确实改成bShow后 alert(bshow); 产生了效果,但是我的问题是要让这里对bShow值得的改变在'OnCloseDocument'事件结束后,仍然还有效果。就是这里的参数是传址的而不是传值的。
alert('OnCloseDocument');
var AXCtrl=documant.getElementById('AXCtrl');
AXCtrl.bShow = false;
AXCtrl.nResult = 0;
}; 吧传的内部属性 直接变成外部属性挂在对象上 反正都是handler自己在控制逻辑 所以传不传参数都无所谓 之后控件内部的操作在分析自己的属性 或者属性本身就自己根据变化操作 不知道C++写的是不是可以这样
PS: 我使用的方法和8楼的想法很类似,客户也同意了这样的方法。我在ActivX里加了一个两个属性代表bShow和nResult,然后用户在响应这个事件的时候,去修改这个属性的值,ActiveX做了一些调整,在事件被响应后,把属性值赋值给原来的bshow和nResult,问题解决。