Javascript 以.js文件形式加载数据与以JSON文件形式加载数据

Javascript 以.js文件形式加载数据与以JSON文件形式加载数据,javascript,html,ajax,json,performance,Javascript,Html,Ajax,Json,Performance,我在这上面找不到任何现有页面,可能我没有使用正确的搜索关键字 假设我正在为我的静态站点实现一个简单的JavaScript搜索引擎,我的可搜索内容(一个大文件)存储在一个文件中,并在初始页面加载期间加载 现在,我可以通过两种方式加载内容文件: 1。内容存储在search\u content.js文件中的Javascript变量中: // Large js file var content = {"pages": [ {"page": "..."}, {...}, ... ]}; 在我的HTML中

我在这上面找不到任何现有页面,可能我没有使用正确的搜索关键字

假设我正在为我的静态站点实现一个简单的JavaScript搜索引擎,我的可搜索内容(一个大文件)存储在一个文件中,并在初始页面加载期间加载

现在,我可以通过两种方式加载内容文件:

1。内容存储在
search\u content.js
文件中的Javascript变量中:

// Large js file
var content = {"pages": [ {"page": "..."}, {...}, ... ]};
在我的HTML中,我使用以下方式加载它:

<script src="search_content.js"></script>
并在页面加载后在我的搜索库中加载文件:

$.ajax({
  dataType: "json",
  url: url_to_my_json_file,
  data: data,
  success: success
});

方法1可以在没有web服务器的情况下运行,但除此之外,每种方法的区别、优点/缺点是什么?它们在性能方面是否相同?

我想说,当页面的初始呈现出现明显延迟时,后者会更好,因为这可以被视为延迟加载的一种方式

绩效方面,第一个最有可能更有效,但感知绩效可能是一个更重要的因素


我想到的另一件事是,第二种方法不会污染全局范围,这可能是一种优势。

您可能想看看这篇文章

因为您正在加载数据,所以使用数据格式而不是代码似乎是正确的。通过使用JSON而不是JS代码,您可以限制可能出现故障的范围。即使数据无法解析,页面本身也不会受到影响,只有搜索无法工作。因此JSON方法更安全


由于显示初始页面可能不需要数据,因此异步加载数据似乎是正确的,这样就不会延迟页面的加载。脚本标记将延迟页面加载,除非您将其放在HTML的末尾。

链接帖子似乎很有用,但仅链接的答案就不那么有用:)请尝试在此处收集最重要的要点,或将其作为注释发布。感谢链接!在研究这一问题时,我的一个问题是找到关于这一问题的相关文章,这篇文章应该是一个很好的起点:)@slsdo我有兴趣找到你问题的答案。你在文章中找到相关部分了吗?我不能。老实说,对这个问题感兴趣的人已经非常熟悉JSON是什么,以及如何创建JSobject等等,这篇文章花了很多时间来解释。关心tl;博士thanks@anu在阅读了那篇文章之后,我同意你的观点,那篇文章并没有真正回答我的问题(性能、赞成/反对、每种方法等等),如果我将来真的发现了什么,我一定会回来更新我的帖子!在方法1中,如果我将标记放在页面底部,是否也会在页面完成呈现后达到加载的效果?是的,前提是您在包含之前没有尝试实际使用数据。
$.ajax({
  dataType: "json",
  url: url_to_my_json_file,
  data: data,
  success: success
});