Javascript中“s”和“e”的区别是什么

时间:2013-09-23 05:46:04

标签: javascript javascript-events devexpress

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 个答案:

答案 0 :(得分:1)

关于调用函数的全部内容。

这意味着如果您调用验证函数Validation("1","2"); 然后在函数内部,s = 1,e = 2。它只是把这些论点作为他们的命令。

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

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

答案 1 :(得分:1)

这些参数只是预定义签名的别名。看起来您的一些问题与DevExpress ASP.NET产品有关。 如果是这样,您最好参考Client-Side Events文档来解决此问题:

  • s参数表示引发事件的客户端对象。 " s" (sender)参数封装了所有可用的客户端功能(对于ASPxGridView类 - 它是ASPxClientGridView类)
  • e参数表示事件参数,通常包含特定于事件的信息。

答案 2 :(得分:0)

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

  1. 我不确定如何使用e调用该函数,但不使用s。 。 。参数由它们在函数定义中的位置确定,因此,在这种情况下,由于它被定义为function Validation(s, e),如果只放入一个参数,函数会将其视为s。从技术上讲,你可以调用这样的函数:Validation(undefined, e),但即便如此,你仍然可以将s定义为undefined
  2. IF 您说的是,当您提供s而不是e时,它不起作用,这是因为当您致电时请忽略e该函数将使值未定义。一旦你尝试e.value,JS就会抛出错误“TypeError:e is undefined”。
  3. s似乎没有在函数中使用,因此除了它是函数的参数之外,没有什么可以知道它,但你可以从查看{{ {1}}是一个对象,至少对于属性:evalue。此外,您可以推测isValid旨在存储布尔值,前提是它在代码中分配了isValid的值,但是,因为false的唯一用途是作为参数value构造函数(可以接受不同值类型的TON作为参数),没有真正的方法可以知道它要保留的数据类型。
  4. 这就是我现在能想到的所有内容。

答案 3 :(得分:0)

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

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的一些基础知识。 这些链接可以帮助您:

可以在此处找到有关变量名称的更高级的讨论:What characters are valid for JavaScript variable names?