重新定义$(jQuery)的值

时间:2013-06-14 08:23:26

标签: jquery

我创建了自定义函数,函数名称为$

function $(){
    alert("Test");
}

jQuery(function(){
    alert($);
});

当我运行它时,我在警报中获得了函数体。但是,当我调试此代码时,在浏览器(Chrome)中将断点保持在alert($)时,我也会在函数体之前得到alert("Test")

JSFiddle上可以重现相同的行为。

有人可以解释这种行为吗?

enter image description here

1 个答案:

答案 0 :(得分:5)

您有一个名为$的函数。执行alert($)时,您实际上是在告诉浏览器在警报窗口中显示函数$。 $在此处不具体,同样适用于abc函数:

function abc(){
    alert("Test");
}
jQuery(function(){
    alert(abc);
});

如果这样做:

function abc(){
    alert("Test");
}
jQuery(function(){
    alert(abc());
});

首先运行abc()并显示“测试”,然后它会显示abc()的结果,即undefined