0
function Something(s, e)

s和 和有什么不一样e

例如,

function Validation(s, e) {
if (e.value == null)
e.isValid = false;
var name = String(e.value);
if (name.trim() == "" || name == undefined)
e.isValid = false;
}

如果我在上面的 Javascript 代码中使用“s”而不是“e”,它就不起作用。

我们什么时候使用s
我们什么时候使用e

4

4 回答 4

3

这些参数只是预定义签名的别名。看起来您的一些问题与 DevExpress ASP.NET 产品有关。如果是这样,您最好参考客户端事件文档来了解这一点:

  • s 参数表示引发事件的客户端对象。“s”(发送者)参数封装了所有可用的客户端功能(对于ASPxGridView类 - 它是ASPxClientGridView类)
  • e 参数表示事件参数,它通常包含特定于事件的信息。
于 2013-10-05T08:48:57.630 回答
1

这都是关于调用函数的。

这意味着如果你在函数Validation("1","2"); 内部调用验证函数,s=1 和 e=2。它只是将这些参数作为它们的顺序。

我猜他们的类型不同,这就是你得到错误的原因。

如果您对此仍有疑问,只需输入您的邮件作为对此答案的评论,然后让我用土耳其语向您解释。

于 2013-09-23T05:55:13.100 回答
0

我不是 100% 确定该代码应该做什么,但我可以指出一些事情:

  1. 我不确定您将如何使用 调用该函数e,但不使用s. . . 参数由它们在函数定义中的位置决定,因此,在这种情况下,由于它被定义为function Validation(s, e),如果您只放入一个参数,函数将认为它是s。从技术上讲,您可以像这样调用该函数:Validation(undefined, e),但即便如此,您仍然有点“定义”sundefined.
  2. 如果您说它在您提供时不起作用s,但不是e,那是因为e在您调用函数时省略会使值未定义。只要你尝试e.value,JS 就会抛出错误“TypeError: e is undefined”。
  3. s似乎没有在函数中使用,因此除了它是函数的参数之外,没有什么可以知道的,但是您可以通过查看e作为对象的函数来推断,至少到属性:valueisValid。此外,您可以推测它isValid旨在存储一个布尔值,因为它false在代码中被赋值,但是,因为它的唯一用途value是作为String构造函数的参数(它可以接受不同值类型的 TON 作为参数),没有真正的方法知道它打算保存什么类型的数据。

这就是我目前所能想到的。

于 2013-10-04T15:06:51.717 回答
0

参数名称是任意的。如果您在函数中切换所有出现的sand e,它仍将按预期工作:

function Validation(e, s) {
if (s.value == null)
s.isValid = false;
var name = String(s.value);
if (name.trim() == "" || name == undefined)
s.isValid = false;
}

您也可以考虑使用更长的名称,inputData而不是单个字母,以便更清楚您的参数的用途。

请记住:使它以特殊方式工作的不是变量的名称。程序员应该给变量起一个名字来解释它是如何工作的。

也就是说,我建议您开始看一下 Javascript 的一些基础知识。这些链接可以帮助您:

可以在此处找到有关变量名称的更高级讨论:哪些字符对 JavaScript 变量名称有效?.

于 2013-10-04T16:14:42.547 回答