需要了解javascript函数的帮助吗
我希望有人能解释一下JavaScript的以下用法 我有一个带有如下脚本的页面:需要了解javascript函数的帮助吗,javascript,jquery,Javascript,Jquery,我希望有人能解释一下JavaScript的以下用法 我有一个带有如下脚本的页面: (function($){ // code // and stuff })(jQuery); 我试图理解这段代码的作用,特别是: 开头的括号 $符号的用法 jQuery在末尾的括号中 谢谢 在最高级别,它声明一个函数并在同一语句中调用它 让我们将其分解为几个组成部分: 首先,我们可以在函数中使用$作为参数/变量名,就像其他任何东西一样: function foo($) { alert
(function($){
// code
// and stuff
})(jQuery);
我试图理解这段代码的作用,特别是:
$
符号的用法谢谢 在最高级别,它声明一个函数并在同一语句中调用它 让我们将其分解为几个组成部分: 首先,我们可以在函数中使用
$
作为参数/变量名,就像其他任何东西一样:
function foo($)
{
alert($);
}
foo('hi'); //alerts 'hi'
其次,我们可以将函数分配给变量:
var foo = function($) {
alert($);
}
foo('hi'); //alerts 'hi'
最后,我们不必给函数命名,只需声明它们即可。我们将它们封装在括号中,将整个函数声明封装为一个var,然后调用它(如上所述):
在您的例子中,
jQuery
是作为$
参数传递到函数中的某个对象。可能是jQuery库根对象,因此可以对其调用函数。在最高级别,它声明一个函数并在同一语句中调用它
让我们将其分解为几个组成部分:
首先,我们可以在函数中使用$
作为参数/变量名,就像其他任何东西一样:
function foo($)
{
alert($);
}
foo('hi'); //alerts 'hi'
其次,我们可以将函数分配给变量:
var foo = function($) {
alert($);
}
foo('hi'); //alerts 'hi'
最后,我们不必给函数命名,只需声明它们即可。我们将它们封装在括号中,将整个函数声明封装为一个var,然后调用它(如上所述):
在您的例子中,
jQuery
是作为$
参数传递到函数中的某个对象。可能是jQuery库根对象,因此可以对其调用函数。这是一个匿名函数
您提供的特定示例通常在jQuery(使用“$”)与另一个库(prototype也使用“$”)冲突时使用
这意味着,每当在函数中使用“$”时,它都会引用jQuery对象
正常:
$("foo").doStuff()
避免冲突:
jQuery("foo").doStuff()
使用匿名函数避免冲突:
(function($){
$("foo").doStuff();
})(jQuery)
这是一个匿名函数 您提供的特定示例通常在jQuery(使用“$”)与另一个库(prototype也使用“$”)冲突时使用 这意味着,每当在函数中使用“$”时,它都会引用jQuery对象 正常:
$("foo").doStuff()
避免冲突:
jQuery("foo").doStuff()
使用匿名函数避免冲突:
(function($){
$("foo").doStuff();
})(jQuery)
让我们首先看看内部函数声明:
function($){
// code
// and stuff
}
这是一个匿名函数声明,其中一个参数名为
$
。然后将该函数包装在括号中,并通过将(jQuery)
作为参数添加到jQuery
来调用该函数。让我们先看看内部函数声明:
function($){
// code
// and stuff
}
这是一个匿名函数声明,其中一个参数名为$
。然后将该函数包装在括号中,并通过将jQuery
作为参数附加到jQuery
来调用该函数
$
在JavaScript中是一个有效的变量名,因此许多框架为了简洁起见都使用它。通过将它包含在这里作为函数参数,您表示希望使用$
作为jQuery的别名。这可以让您的代码尽可能短,并节省用户的带宽$
在JavaScript中是一个有效的变量名,因此许多框架为了简洁起见都使用它。通过将它包含在这里作为函数参数,您表示希望使用$
作为jQuery的别名。这可以让您的代码尽可能短,并节省用户的带宽(function($){
// code
// and stuff
})(jQuery);
函数foo(arg1、arg2){
}
稍后可以调用函数foo:
foo(“arg 1”、“arg 2”)
但在javascript中,函数是一流的公民;如果选择,可以将函数存储在变量中。执行此操作时,变量名是函数名,因此您可以这样编写:
(function($){
// code
// and stuff
})(jQuery);
var foo=函数(arg1、arg2){
})
后面的分号是必需的,因为变量声明(和赋值)是语句。稍后,可以调用函数foo:
foo(“arg 1”、“arg 2”)
这里的优点是,您可以将函数传递给另一个函数,或者将其存储在数组中,或者其他任何形式。这类函数称为匿名函数(因为它们本身没有函数名)
在匿名函数foo内部,如上所述,您可以声明局部变量,这些变量保留在该函数的作用域内,而不存在于声明该函数的作用域中。例如,本地arg1和arg2变量不存在于变量foo的作用域中(但它们确实存在于存储在foo中的匿名函数中)
这个技巧允许我们创建一个私有块,在这个块中我们可以控制事物的名称,而不必担心践踏其他人的名称空间
您可以按照以下方式编写您提供的示例:
var foo=fu