您可以尝试以下选项:
LargeFunction.js
function largeFunction(){
// This is a global function and is a part of window object.
// This can be called from anywhere once the file is loaded.
}
的index.html
<script src="largeFunction.js" type="text/javascript"></script>
<script>
largeFunction();
</script>
IIFE
这些是在加载文件时仅执行一次的函数。 它们被称为编译的那一刻。
function largeFunction(){
}
(function(){
largeFunction();
})()
你甚至可以试试没有IIFE
function largeFunction(){
}
largeFunction();
window.onload / $(document).ready()
一旦渲染了所有元素,就会触发此事件。 如果您的JS正在操纵任何元素,如管理UI状态或创建像datepickers
或searchable dropdowns
或adding options to select
等控件,则首选这些事件。
注意: 两个事件都不相同。 您可以参考以下帖子 window.onload vs $(document).ready()
// Pure JS
function largeFunction(){
}
window.onload = function(){
largeFunction();
}
// jQuery
function largeFunction(){
}
$(document).ready(function(){
largeFunction();
})
注意:拥有大功能不是一个好习惯。 您还应该尝试将功能拆分为多个功能
function getData(callback){
var data = ...
// Gets data from server
data = cleanData(data);
data = processData(data);
if(callback) callback(data); // callback refers to renderUI function
}
function cleanData(data){
// Clean if any field needs formatting
return data;
}
function processData(data){
// You can permute logic to parse data
return data;
}
function renderUI(data){
// Update DOM element with data
}
function largeFunction(){
getData(renderUI);
}