Javascript 在加载jQuery之前,可以内联编写jQuery代码吗?

Javascript 在加载jQuery之前,可以内联编写jQuery代码吗?,javascript,jquery,Javascript,Jquery,我不认为这是可能的,但我只是想知道,因为我的朋友在他的页面上有这样的内容: <html> <head></head> <body> <script> $(function(){ // ... }); </script> <div><span>html stuff&

我不认为这是可能的,但我只是想知道,因为我的朋友在他的页面上有这样的内容:

<html>
    <head></head>
    <body>
        <script>
            $(function(){
              // ...
            });
        </script>
        <div><span>html stuff</span></div>
        <script src="jquery-1.7.js"></script>
    </body>
</html>

$(函数(){
// ...
});
html内容

所以我只是想知道,这有效吗?jQuery将接受
$(function(){})在加载完成后阻止并使其工作?

不,它的工作方式与您的朋友期望的不一样,因为此时
$
未定义
,因此使用参数
function(){}
调用函数
$
将导致javascript错误,指出
$
未定义。在尝试使用jQuery之前,必须先加载它

你的朋友可能会困惑地认为,
$
是一个特殊的名字,但是
$
和其他名字一样。即:

function jQuery(){
 // do stuff
}

也会做同样的事情。在外部文件中包含这些定义不会使它们在加载之前可调用


切题说明:在jQuery加载之前编写最终将使用jQuery的代码并不是绝对不可能的,但您将把代码放在只有在jQuery加载之后才会调用的东西中。我不知道有任何jQuery惯例可以这样做,因为在这个库中这样做并不常见,但Facebook是这样做的:我认为你的朋友在更熟悉JavaScript之前不应该尝试这样做。

是吗?它在一个实时页面上,你说……是的,测试后,它不起作用。我想我真的很想看看我是否能在这里更快地得到答案,或者通过测试。。。是的,我知道那很阴暗!但我能更快地测试。我以后会避免这样的问题。这个问题经常发生,有这样一个问题来指点人们是很方便的。
function $(){
  // do stuff
}