0

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

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

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

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

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

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

在此处输入图像描述

4

1 回答 1

5

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

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

如果这样做:

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

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

于 2013-06-14T08:27:24.440 回答