从性能的角度来看,我想了解从服务器加载一段 JS 代码(选项 #1)与在客户端加载同一段代码(选项 #2)之间的区别。
选项 #1:服务器在标签中发送 JS 代码。
选项 #2:服务器将代码作为 JS 字符串 ( var jsCode = '[code]'
) 发送出去。在浏览器上,加载触发后,会创建一个脚本节点并设置 .text 属性 ( scriptNode.text = jsCode
)
scriptNode = document.createElement('script');
document.body.appendChild(scriptNode);
scriptNode.setAttribute('type', 'text/javascript');
scriptNode.text = jsCode;
从性能角度来看,一种选择是否比另一种更好?例如,在选项 #2 中,我们需要做额外的工作来创建脚本节点并将其添加到 DOM 树中。除了这些之外,性能(时间和内存方面)是否有任何差异?