javascript 隐式函数变量

标签 javascript jquery

我见过几个带有传递参数的 java 脚本函数的示例,这些函数不在脚本中,而是隐式传入的。例如:

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
 }

“xml”在哪里定义或列出?在哪里可以找到其他隐式参数的列表?

我还看到了一个具有以下功能的函数:

$("body").click(function (event) {
   // Do body action

  var target = $(event.target);
  if (target.is($("#myDiv"))) {
    // Do div action
  }
  });

“事件”来自或列出在哪里?

提前致谢。

最佳答案

这些变量称为(函数)参数。这是大多数编程语言的共同特征。它们是用函数定义的,并且仅充当函数内定义的变量。它们之前不需要在函数外部定义,因为它们只为函数而存在。

我相信您会感到困惑,因为它们没有用 var 声明(因为它们不应该如此),因为您称它们为“隐式变量”。然而,它们并不是隐含的;它们是用函数定义的。

如果您使用的是 jQuery 等库,则可以通过查看函数的文档来找到函数的参数。例如,.click()函数处理程序的定义如下:

screenshot

(如果看不到图像,则会显示 .click(handler),其中 handler 的类型为:Function(Event事件对象))

如您所见,它定义了函数参数eventObject,您可以在调用函数时“传递”该参数。您可以使用任何有效的变量名称来执行此操作。

您可以看到this MDN documentation有关参数的更多信息。

关于javascript 隐式函数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449482/

相关文章:

jquery - 选中/取消选中 jquery mobile 中的所有复选框失败

javascript - 单击子元素时,向同级元素添加属性

javascript - 使用 TimezoneOffset 计算用户的时间

javascript - Material UI 中的对话框以奇怪的灰色背景打开

javascript - 更改 Text 元素 React 的内容

javascript - 处理ajax错误

javascript - 如何获得这种淡入淡出和滑动效果?

javascript - 使用 window.open 打开存储在变量中的 URL

javascript - 为什么我的图像没有淡出?

javascript - 如何获取刚刚删除的行的文本值-Jquery/Js