Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JavaScript中使用"Out“参数

在JavaScript中使用"Out“参数
EN

Stack Overflow用户
提问于 2011-02-25 13:12:26
回答 3查看 15.7K关注 0票数 10

我正在使用8中的ActiveX控件,即显示一个保存文件对话框,让用户选择一个文件名和文件类型(jpg、gif等)。这些值被传递给代码,然后在另一种方法中用于保存文件。不幸的是,调用对话框的方法没有返回值,文件名和文件类型作为out参数传入。

方法的签名(用Visual表示)如下所示:

代码语言:javascript
运行
AI代码解释
复制
Public Sub SaveFileDialog( _
   ByVal bstrDialogType As Variant, _
   ByRef pbstrFileName As String, _
   ByRef out_pvType As Long _
)

这两个ByRef参数是out参数。

我编写了以下JavaScript代码:

代码语言:javascript
运行
AI代码解释
复制
try
{
    var saveFileName, saveFileType; // out variables
    gxVideoPlayBack.SaveFileDialog("image", saveFileName, saveFileType);
    alert(saveFileName); // displays "undefined"
    alert(saveFileType); // displays "undefined"
}
catch(error)
{
    if(!error.number === -2147221484) // User clicked cancel.
    {  
        alert(error.message);
    }
}

代码的工作原理是ActiveX控件生成它的对话框,我可以处理错误条件,但是我似乎无法理解如何捕获 out 参数的值。

在代码中,gxVideoPlayBack是对通过HTML元素嵌入到DOM中的ActiveX控件的引用。

如果JavaScript不适用于此,可以在VBScript中完成吗?

作为另一种选择,我可以实现自己的对话框,但更愿意使用提供的对话框。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-25 13:19:49

编辑:似乎不可能在JavaScript中有"out“参数。

原件:也许approach described in this article会起作用:

代码语言:javascript
运行
AI代码解释
复制
var saveFileName={}, saveFileType={}; // Empty "output" objects.
gxVideoPlayBack.SaveFileDialog("image", saveFileName, saveFileType);
alert(saveFileName.value); // The "value" attribute is assigned ...
alert(saveFileType.value); // ... by the "SaveFileDialog" method?

我认为,这个本机调用的WSH包装器将尝试分配给定输出参数的" value“属性,因此您可以重写值集程序,或者只给它一个内置的值集器对象。

票数 7
EN

Stack Overflow用户

发布于 2011-02-25 13:48:26

JavaScript中的所有函数参数都是passed (即使传递的值是对对象(它是)的引用)。没有经过引用的证据。

如果SaveFileDialog修改了saveFileNamesaveFileType引用的对象,那么您可以通过现有变量访问这些更改。

票数 1
EN

Stack Overflow用户

发布于 2011-02-25 13:43:32

不幸的是,out/ByRef参数只适用于对象,而不适用于任何其他类型(数字、字符串)。

在本例中,您必须使用VBScript (它确实支持ByRef参数,或者like maerics says )为SaveFileDialog方法编写一个VB/VBScript包装器,该方法可以返回包含文件名和类型的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5122704

复制
相关文章
CA1021:避免使用 out 参数
按引用(使用 out 或 ref)传递类型要求具有使用指针的经验,了解值类型和引用类型的不同之处,以及能处理具有多个返回值的方法。 另外,out 和 ref 参数之间的区别并未得到广泛了解。
用户4268038
2022/01/10
5320
JSON 在JavaScript 中的使用。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
愷龍
2022/10/06
10.6K0
在C#中ref和out具体怎么使用?在什么情况下使用?
ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。   使用ref前必须对变量赋值,out不用。   out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。   区别可以参看下面的代码应该就明白了:
zls365
2020/08/19
2.9K0
在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法
今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示
泰斗贤若如
2019/06/19
2.1K0
在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法
Javascript中关键参数this浅析
自从接触javascript以来,对this参数的理解一直是模棱两可。虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪。 但对于this参数,确实会让人产生很多误解。那么this参数到底是何方神圣? 理解this this是一个与执行上下文(execution context,也就是作用域)相关的特殊对象。因此,它可以叫作上下文对象(也就是用来指明执行上下文是在哪个上下 文中被触发的对象)。  任何对象都可以做为上下文中的this的值 在一些对ECMAScript执行上下文和部分this
Sb_Coco
2018/05/28
5670
C# 中的 Out 和 Ref 及Params 参数
out 和ref 参数 经常用来通过方法传递参数来获取值,当您的方法不只有一个返回值的时候,这两个参数就发挥作用了。ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。  在这篇文章里,我将解释如何在c#应用中使用这两个参数。   1、out 参数   out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。   public class mathClass { public static int TestOu
跟着阿笨一起玩NET
2018/09/18
1.2K0
[译] 在 JavaScript 中通过 queueMicrotask() 使用微任务
原文:https://developer.mozilla.org/en-US/docs/Web/API/HTMLDOMAPI/Microtask_guide
江米小枣
2020/06/15
3.4K0
java.sql.SQLException: 索引中丢失 IN或OUT 参数::x
使用JDBC时,会有这么一个错误:java.sql.SQLException: 索引中丢失 IN或OUT 参数::x
bisal
2019/01/29
3.2K0
深入 JavaScript 中的默认参数!
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/03/02
1.6K0
深入 JavaScript 中的默认参数!
在React中如何使用history.push传递参数
第一种和第三种,在目标路由刷新后,参数还可以取到,但是第二种页面刷新后,参数就取不到了,第二种适合开发winform类的应用。
挥刀北上
2021/12/19
21.9K0
在React中如何使用history.push传递参数
如何使用ParamSpider在Web文档中搜索敏感参数
ParamSpider是一款功能强大的Web参数挖掘工具,广大研究人员可以利用ParamSpider来从Web文档的最深处挖掘出目标参数。
FB客服
2020/09/14
3.9K0
如何使用ParamSpider在Web文档中搜索敏感参数
jsp中在href中传递参数
<% Configuration conf = new Configuration(); URI uri = new URI("hdfs://192.168.0.52:9010"); FileSystem fileSystem = FileSystem.get(uri, conf); //System.out.println("Hdfs directory is"+"\n"); Path src1 = new Path("hdfs://192.168.0.52:9
闵开慧
2018/03/30
4.9K0
.net里的ref、out、params参数。
1、ref參數     class Program     {         static void Main(string[] args)         {             int a = 10;             int b = 5;             ChangeNumValue(ref a, ref b);             Console.WriteLine(a + " " + b);             Console.ReadKey();         }
指尖改变世界
2018/08/31
7730
在 JavaScript 中轻松处理 this [每日前端夜话0xD1]
我喜欢 JavaScript 中能够更改函数执行上下文(也称为 this)的特性。
疯狂的技术宅
2019/10/17
2.6K0
.NET/C# 使用反射调用含 ref 或 out 参数的方法
2018-09-02 06:59
walterlv
2018/09/18
2.3K0
如何使用LinkFinder在JavaScript文件中查找网络节点
LinkFinder是一款功能强大的Python脚本,在该工具的帮助下,广大研究人员可以轻松在JavaScript文件中发现和扫描网络节点及其相关参数。这样一来,渗透测试人员和漏洞猎人将能够快速在测试的目标网站伤收集新的隐藏节点了。
FB客服
2023/08/08
7670
如何使用LinkFinder在JavaScript文件中查找网络节点
Postgresql中有out参数的函数,无法配置out值怎么办?
Postgresql中写C函数时,如果函数有out类型的参数,在C代码中 是 无法 为Out参数配置值的,因为return只能配置返回值无法配置out值,这是PG的框架问题,我们可以想办法规避。
mingjie
2023/03/17
9980
在HTML中使用JavaScript
前言 JavaScript是浏览器的内置脚本语言。当网页中嵌入了JavaScript脚本,浏览器加载网页时,就会执行脚本,从而操作浏览器,实现各种动态效果 JavaScript代码嵌入网页的方法 1、<script>元素直接嵌入代码 <script type="text/javascript"> function sayHello() { alert("hello!"); } </script> 2、<script>元素加载外部脚本 <script type="text/javascript" sr
pitaojin
2018/05/25
1.5K0
用javascript替换URL中的参数值
今天遇到一个需要用javascript将url中的某些参数替换的需求,想起了不久前从司徒正美先生的博客中淘到了一个parseUrl函数,正好可以借此实现,代码整理如下: //分析url function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol:
菩提树下的杨过
2018/01/22
3.5K0
点击加载更多

相似问题

“使用”out参数

70

带有OUT参数的WebMethod,然后在javascript中调用方法

10

PLSQL中IN、OUT、IN OUT参数的区别

13

ItemPreparedStatementSetter在out参数中无效

26

通过javascript中的ref/out参数调用Webmethod

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档