Javascript 嵌套函数中值的移动方向

Javascript 嵌套函数中值的移动方向,javascript,jquery,Javascript,Jquery,可以说,在“流”级别编写此函数时会发生什么?也就是说,值如何在对象之间移动 jQuery(function($) { // ... }) 我的假设是:$是否通过jQuery传递给其内部函数?或者它是由function()从窗口全局对象/插件定义等抓取,然后传递给jQuery函数?从外到内还是从内到外 谢谢这和其他回调函数一样$是一个参数变量,它从调用者提供的参数获取其值 在这种情况下,调用方是jQuery函数。当它调用这个函数时,它将自身作为参数传递 它与名为$的全局变量无关。你也可以写

可以说,在“流”级别编写此函数时会发生什么?也就是说,值如何在对象之间移动

jQuery(function($) {
  // ...
})
我的假设是:
$
是否通过
jQuery
传递给其内部函数?或者它是由
function()
窗口
全局对象/插件定义等抓取,然后传递给
jQuery
函数?从外到内还是从内到外


谢谢

这和其他回调函数一样
$
是一个参数变量,它从调用者提供的参数获取其值

在这种情况下,调用方是
jQuery
函数。当它调用这个函数时,它将自身作为参数传递

它与名为
$
的全局变量无关。你也可以写

jQuery(function(jq) {
  // ...
});
然后在函数内部,您可以编写类似于
jq('.classname').hide()
的内容来调用jQuery方法,而不是
$('.classname').hide()


您发布的代码用于全局变量
$
用于jQuery以外的其他对象的情况。这确保在回调函数体中,您可以使用
$
作为jQuery缩写,而不会与其他用法冲突。

您的假设@Manaus是绝对正确的

jQuery()
是一个调用函数,其回调函数接收
$
作为参数用作局部变量。现在,由于
$
是一个参数,您可以随意命名它,比如
myJQ
,它仍然可以正常工作

使用此语法的优点是,可以在代码中全局地将$定义/设置为其他内容,但JQuery将确保从调用方JQuery()内部和外部引用$的含义不存在冲突


$(function(){…})
jQuery(function($){…})
相同,但后者也使$在函数内部可用,无论它在外部设置了什么。另外,据我所知,函数转换值并返回转换后的值。可选地执行操作并返回void,但它充当某些值的接收者。函数不传递值,它们是传递值——如果我错了,请纠正我。如果函数的参数是另一个函数,它可以调用该函数。考虑<代码>数组.FEXACH()>代码>或<代码> $(“yas-AsHID”)。(“点击”,函数()({…})< /代码>。这将安排在单击指定元素时调用函数。因此,如果函数包含函数,则外部函数将触发内部函数,内部函数将转换一个值,然后内部函数将向转换该值的外部函数返回一个值。否则它只是转换一个值。对吗?函数并不总是转换和/或返回值。例如,
console.log(“foo”)
只在控制台上显示字符串,不返回任何内容。它也不会改变任何东西,除非你认为控制台的状态是“<代码> FoO”< /C>参数的转换。