了解javascript使用此关键字的原因

了解javascript使用此关键字的原因,javascript,Javascript,我曾试图通过搜索网络来找到这个问题的答案,但没有任何运气。大多数信息比我预期的答案要复杂得多,但没有一个真正回答了这个问题 在此标签中: <form method="post" action="process.php" name="processform" id="form1" onsubmit="return validate(this)"> “这”指的是什么 如果我要用对同一对象的硬编码引用替换“this”,我将用什么替换它?此将引用正在提交的表单节点。您可以将引用替换为d

我曾试图通过搜索网络来找到这个问题的答案,但没有任何运气。大多数信息比我预期的答案要复杂得多,但没有一个真正回答了这个问题

在此标签中:

<form method="post" action="process.php" name="processform" id="form1" onsubmit="return validate(this)">

“这”指的是什么


如果我要用对同一对象的硬编码引用替换“this”,我将用什么替换它?

将引用正在提交的表单节点。您可以将引用替换为
document.getElementById('form1')
在“onsubmit”属性中的
引用表单本身;调用
validate
函数时,它的第一个参数是表单的DOM元素的参数

例如,考虑这种可能的实现<代码>验证< /代码>:

function validate(form)
{
    alert(form.action); // will display "process.php"
}

在HTML中使用
this
的好处是(与固定名称或ID相对)不必按ID或名称引用表单。

this
引用调用它的元素的DOM对象,即表单对象。这是
这个
表单。这就解释了:(你还应该阅读其他文章,它们提供了事件处理的非常好的解释)。是的,但是
表单
呢?它会发出什么警报,或者,
console.log()
?@JaredFarrish
表单
不会发出任何警报。。我不知道你在问什么?是的,更有用。我认为内联事件处理程序(如<代码> OnSudio)是“坏的形式”。相比之下,我的答案只用来解释内联引用这项工作,而不是这种方法的优点。