1
42
@Felix Kling提到的回调方法可能是最好的主意,但我也发现有时候很容易利用Javascript对象文本语法,让函数返回一个出错的对象:
然后当您调用函数时:
不花哨,几乎不防弹,但它当然可以在一些简单的情况下。 |
2
16
|
3
15
我认为这几乎是唯一的方法(但我不是一个铁杆的JavaScript程序员)。 您还可以考虑使用回调函数:
|
4
5
但如果你真的需要参数,你会怎么做?
因为Javascript不直接支持它,所以需要构建一些接近C#out参数的东西。看看这个方法,我在JavaScript中模拟C的DateTime.TryParse函数。out参数是result,因为JavaScript没有提供out关键字,所以我使用
丢弃
参数称为
这个例子使用
注:
那么可以省略
|
5
3
JS还有另一种传递“out”参数的方法。但我相信对你来说最好的已经提到了。
所以在每一种情况下,你都可以问自己,“一个数组还是一个对象更好?” |
6
2
我正在使用回调方法(类似于 Felix Kling's approach )以模拟输出参数的行为。我的答案与Kling的不同之处在于,回调函数充当的是引用捕获闭包,而不是处理程序。 这种方法受到JavaScript冗长的匿名函数语法的影响,但却与其他语言的参数语义密切相关。
|
7
1
我不会发任何邮件
因此,采取这种做法的原因是:
使用规定的方法,你只需要知道
强壮又愚蠢 “可以编写alogrithms来包装所需的过程调用,以使此操作“更透明”。
使用
这是一个一劳永逸的答案
恭喜你,祝你好运。 我正在使用webkitgtk3和一些本地C库过程接口。因此,这个经过验证的代码示例至少可以用于说明的目的。
|
8
1
|
9
0
对于您在Javascript中概述的特定用例,以及实际上大多数高级语言,通常的方法是依赖错误(也称为异常)来让您知道何时发生了异常情况。在Javascript中无法通过引用传递值类型(字符串、数字等)。
捕捉异常是一件痛苦的事,我知道,但是同样的,跟踪引用也是一件痛苦的事。 如果你真的需要一些接近 外面的
我认为这有助于回答你的问题,但我认为你的整个方法从一开始就被打破了。Javascript支持许多更加优雅和强大的方法来从函数中获取多个值。阅读一些关于生成器、闭包、hell甚至回调的内容,在某些情况下都是不错的——查看continuation passing样式。 我的观点是鼓励阅读本文的人根据他们所使用语言的局限性和能力来调整他们的编程风格,而不是试图将他们从其他语言中学到的东西强加于此。 (顺便说一句,有些人强烈建议不要关闭,因为它们会导致邪恶 副作用 |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |