Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该把JavaScript代码放在哪里?_Javascript_Jquery_Autocomplete - Fatal编程技术网

我应该把JavaScript代码放在哪里?

我应该把JavaScript代码放在哪里?,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我想使用自动完成的代码。代码是 $(函数(){ var availableTags=[ “动作脚本”, “AppleScript”, “Asp”, “基本”, “C”, “C++”, “Clojure”, “COBOL”, “ColdFusion”, “二郎”, “Fortran”, “好极了”, “哈斯克尔”, “爪哇”, “JavaScript”, “口齿不清”, “Perl”, “PHP”, “Python”, “红宝石”, “斯卡拉”, “方案” ]; $(“#标记”).autocom

我想使用自动完成的代码。代码是


$(函数(){
var availableTags=[
“动作脚本”,
“AppleScript”,
“Asp”,
“基本”,
“C”,
“C++”,
“Clojure”,
“COBOL”,
“ColdFusion”,
“二郎”,
“Fortran”,
“好极了”,
“哈斯克尔”,
“爪哇”,
“JavaScript”,
“口齿不清”,
“Perl”,
“PHP”,
“Python”,
“红宝石”,
“斯卡拉”,
“方案”
];
$(“#标记”).autocomplete({
资料来源:availableTags
});
});
标签:
“自动完成”窗口小部件在您键入字段时提供建议。这里的建议是编程语言的标签,请尝试一下“ja”(对于Java或JavaScript)

数据源是一个简单的JavaScript数组,使用source选项提供给小部件


但是,我不知道应该把代码放在哪里。在头上?在body中?

是的,您应该将它放在body元素中。

如果可以,在包含jQuery、自动完成插件本身以及您所依赖的任何其他库之后,将它放在
元素的末尾。将脚本放在
末尾通常(在撰写本文时:-)被认为是最佳做法,因为它允许浏览器在担心脚本执行之前访问标记。

根据

何时将脚本放入头部

执行时要执行的脚本 调用,或在触发事件时, 被放置在函数中。把你的 在head部分中的函数,此 它们都在一个地方,而且 它们不会干扰页面 内容

何时将脚本放入正文

如果你不想让你的脚本 放置在函数中,或者如果 脚本应该写页面内容,它 应该放在身体部位


你的情况也是如此。您可以将脚本放入
正文

将其放入外部文件,然后使用以下方法将该文件与HTML文档链接:

<head>
    ...
    <script type="text/javascript" src="/scripts/my-script.js"></script>
</head>

...
(如果您使用的是HTML5,可以跳过
type
attribute)


上述方法是最明确和最常见的方法,但一些研究证明,这不是最快的方法。您可以将JavaScript放在
元素前面,跳过
jQuery.read()
$(function(){…});
,在本例中,这是它的一个简短形式)。在这种情况下,您将获得一些毫秒(甚至更少),但我不得不注意到这一点。

您可能应该将代码放在body标记的末尾

退房


如果您有多个脚本包含,并且需要说服自己它们将按正确的顺序加载,请查看,您可以在那里看到脚本执行的顺序。

只是一个提示:在这里使用w3schools作为参考会引起很多嘲笑和嘲笑。它不是权威的信息来源;这只是一个随机的网站,其信息质量参差不齐。特别是,这个建议很奇怪,并不全面,甚至不准确。那么,你建议从哪里寻找正确的信息呢?就我所见,没有指定最佳实践。这可能不是真正的规范中会出现的那种情况。跟踪好的博客和在Stackoverflow这样的网站上阅读好的答案是一件很重要的事情。JavaScript性能(以及客户端优化)是最近一个非常热门的话题,“最佳实践”的观点发展很快。@Shervin看一看。它提供了一些非常好的替代资源,例如(我可以高度推荐)。John Resig不喜欢这种方式,我会小心,因为他阅读了其中一些内容。在HTML之后声明JavaScript函数是一种很好的做法,这样页面的加载速度就会更快。换句话说,先加载视图(这样用户可以看到页面),然后加载函数声明。这是一个好主意。一个结构良好的HTML页面将被这样排序:顶部的CSS,中间的HTML内容,最后的JavaScript。
<head>
    ...
    <script type="text/javascript" src="/scripts/my-script.js"></script>
</head>